[ALG] Discussie php-programmeerstructuren

Pagina: 1
Acties:
  • 258 views sinds 30-01-2008
  • Reageer

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 10:09
Ok, je zult misschien denken: waar gaat dit nu weer over, maar dat zal ik nu ff proberen uit te leggen :)

We zitten hier met een hoop programmeurs die php kennen en kunnen. Is het niet handig om te leren van elkaar? Ja, inderdaad. Dat kan natuurlijk al in de gewone topics, en ook helpen we elkaar met grote stukken handige code in de codebase. Maar wat ik dus eigenlijk mis is een leuke discussie over hóe je php schrijft. Want het kan uiteraard op vele manieren.

Gebruik je OO in je code, schrijf je commentaar in je code en zoja, waar schrijf je dan dat commentaar. Gebruik je bij het klaarmaken voor een database server side includes, en kun je later nog de tabelnamen aanpassen zonder 438 bestanden aan te moeten passen :?

Wordt de userinformatie opgeslagen in de database, sessies of cookies, of helemaal niet. Hoe is je output? Maak je er een oneliner van of zorg je dat de newbie er ook nog wat van snapt? En is die output eigenlijk wel html? Parse je zelf de pagina's met templates, laat je clientside het nodige werk doen (XSLT, javascript), of maak je de html layout gewoon static ?

En nu het belangrijkste, hoe ervaar je het programmeren op deze manier, heb je andere methoden hiervoor gebruikt, en hoe bevalt het nu. Is je nieuwe manier van programmeren sneller of langzamer, en is het ingewikkelder om te schrijven? Ga je straks nog op een andere manier werken of blijf je dit voorlopig aanhouden?

Ikzelf ben nog niet zo lang bezig met php, denk nu een maandje of 9-10. Begon met het verbouwen van phpbb, daarna een eigen forum gaan schrijven, verschillende websites waar ik php heb toegepast, en inmiddels een rewrite van mn forum. Ik zal hier ff ingaan op verschil tussen oude en nieuwe forum, want dat geeft wel het verschil in ervaring goed weer.

Toen ik dus vorig jaar zomer begon met het schrijven van mn eigen forum gebruikte ik een beetje de phpbb opzet: header, footer en voor de rest allemaal paginabestandjes, minimale SSI en alles een beetje door elkaar heen. In die tijd was ik helemaal array gek :P, dus je raadt al een beetje hoe die pagina's er toen uitzagen, één grote rommel.

Aangezien ik ook nog niet zo veel verstand had van SQL, waren er een hoop langzame queries, een aantal daarvan heb ik inmiddels geoptimaliseerd. Voor het opslaan van userinformatie gebruikte ik cookies i.c.m. database. Voor de output had ik statische html, maar wel met een enorm CSS bestand en variabele plaatjes (soort eigen themes dus).

Inmiddels heb ik ook ingezien dat bovenstaand niet bepaald optimaal was, dus ben poosje terug begonnen met een rewrite. Aangezien ik nog steeds een hoop hoop te leren m.b.t. dit soort dingen (waar het topic over gaat), had ik toen besloten een compleet andere opzet te nemen.

Op aanraden van Nielsz ben ik OO gaan gebruiken, en van mezelf uit heb ik gekozen voor veel meer losse bestanden, dus meer gebruik maken van SSI. Inmiddels schrijf ik ook overal commentaar bij, wel zo handig. Vrijwel alles is nu aan te passen via bestanden waar een hele grote zooi variabelen bij elkaar staan.

Output van mij wordt straks xml+xslt, waar weer xhtml uitkomt die weer javascript moet genereren, wordt dus nog leuk als ik vrij binnenkort ga beginnen aan het schrijven de XSLT. Voor user informatie ga ik nu sessies proberen i.c.m cookies en gedeeltelijk database, dit kwam hier ook eens aan de orde in een ander topic (geloof dat Grum dat noemde).

Snelheid is wel enorm toegenomen heb ik al gemerkt, ik geloof dat de nieuwe pagina's van mij tot wel 4 of 5 keer zo snel zijn, dus dat is zeker wel positief!

Post hier om nieuwe ervaringen op te doen over je programmeerstructuren :)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 29-08 22:51

D2k

ddc: Ok, je zult misschien denken: waar gaat dit nu weer over, maar dat zal ik nu ff proberen uit te leggen :)
:* :+
We zitten hier met een hoop programmeurs die php kennen en kunnen. Is het niet handig om te leren van elkaar? Ja, inderdaad. Dat kan natuurlijk al in de gewone topics, en ook helpen we elkaar met grote stukken handige code in de codebase. Maar wat ik dus eigenlijk mis is een leuke discussie over hóe je php schrijft. Want het kan uiteraard op vele manieren.
en die van jezelf is altijd de juiste :P
Maar ik denk dat er een hoop beginnende coders zijn die nog wel wat richtlijnen kunnen gebruiken
Gebruik je OO in je code, schrijf je commentaar in je code en zoja, waar schrijf je dan dat commentaar. Gebruik je bij het klaarmaken voor een database server side includes, en kun je later nog de tabelnamen aanpassen zonder 438 bestanden aan te moeten passen :?
voor de php-ers is er phpdoc en er zijn ook voor andere talen dit soort docu projecten
Wordt de userinformatie opgeslagen in de database, sessies of cookies, of helemaal niet. Hoe is je output? Maak je er een oneliner van of zorg je dat de newbie er ook nog wat van snapt? En is die output eigenlijk wel html? Parse je zelf de pagina's met templates, laat je clientside het nodige werk doen (XSLT, javascript), of maak je de html layout gewoon static ?
Code opmaak bij mij is altijd zoals het onder de faq hangt. Ik merk nu dat ik voor het eerst met VB werk dat het gigantisch onoverzichtelijk is. Ik ben er 1 van de { en de } :).
Verder werk ik met serverside parsen van info uit een db met mysql maar ook XML/XSLT is bijzonder interessant. Ben er nog te kort mee bezig om er iets echt zinnigs over te kunnen zeggen maar dat zal mbravenboer wel doen dan ;).
En nu het belangrijkste, hoe ervaar je het programmeren op deze manier, heb je andere methoden hiervoor gebruikt, en hoe bevalt het nu. Is je nieuwe manier van programmeren sneller of langzamer, en is het ingewikkelder om te schrijven? Ga je straks nog op een andere manier werken of blijf je dit voorlopig aanhouden?
Mijn huidige manier bevalt perfect. Duidelijk en overzichtelijk. Zal toch nog ff een voorbeeld geven
code:
1
2
3
4
if(blaat){
blaat}
else{
blaat}

vind ik dus helemaal niets
code:
1
2
3
4
5
6
7
8
if(blaat)
{
    blaat
}
else
{
    blaat
}

is mijn stijl :). Leesbaar en je vergeet geen haakjes. Die extra regel vormt wmb geen enkele belemmering tegenwoordig en anders rag je er maar een scriptje over dat alle enters eruit haalt :).
zie ook http://gathering.tweakers.net/forum/list_messages/392390/#netcoden voor de rest van mijn mening in de opmaak van de nieuwe faq dus leesbaarder dan de huidige :). Daar staan alle dingen die ik handig vindt al dan niet specifitek voor php.
Ikzelf ben nog niet zo lang bezig met php, denk nu een maandje of 9-10. Begon met het verbouwen van phpbb, daarna een eigen forum gaan schrijven, verschillende websites waar ik php heb toegepast, en inmiddels een rewrite van mn forum. Ik zal hier ff ingaan op verschil tussen oude en nieuwe forum, want dat geeft wel het verschil in ervaring goed weer.
Het beheersen van php kost geen enkele moeite dit in tegenstelling tot de enorme hoeveelheid topic die we hier krijgen. Uiteraard zijn er met php dingen te doen waarover je hier vragen zou kunnen stellen maar een parse error is toch wel iets wat met mijn bovenstaande stukje oplosbaar is meestal
Toen ik dus vorig jaar zomer begon met het schrijven van mn eigen forum gebruikte ik een beetje de phpbb opzet: header, footer en voor de rest allemaal paginabestandjes, minimale SSI en alles een beetje door elkaar heen. In die tijd was ik helemaal array gek :P, dus je raadt al een beetje hoe die pagina's er toen uitzagen, één grote rommel.

Aangezien ik ook nog niet zo veel verstand had van SQL, waren er een hoop langzame queries, een aantal daarvan heb ik inmiddels geoptimaliseerd. Voor het opslaan van userinformatie gebruikte ik cookies i.c.m. database. Voor de output had ik statische html, maar wel met een enorm CSS bestand en variabele plaatjes (soort eigen themes dus).
hier ook een goed punt. SQL. Veel newbies hebben geen id wat ze aan het doen zijn. Misschien is dat nog wel iets voor als er eens iemand zich geroepen voelt en tijd heeft, om een tut te schrijven over SQL......
Inmiddels heb ik ook ingezien dat bovenstaand niet bepaald optimaal was, dus ben poosje terug begonnen met een rewrite. Aangezien ik nog steeds een hoop hoop te leren m.b.t. dit soort dingen (waar het topic over gaat), had ik toen besloten een compleet andere opzet te nemen.

Op aanraden van Nielsz ben ik OO gaan gebruiken, en van mezelf uit heb ik gekozen voor veel meer losse bestanden, dus meer gebruik maken van SSI. Inmiddels schrijf ik ook overal commentaar bij, wel zo handig. Vrijwel alles is nu aan te passen via bestanden waar een hele grote zooi variabelen bij elkaar staan.
OO is geweldig &lt/mbravenboer> Maar OO denken en OO realiseren zijn niet echt eenvoudige dingen vindt ik. Dus daarvoor moet je eerst een beetje weten wat je doet imho. Ik vind dat Java een goede grond is om OO te programmeren maar ik ben meer een C/C++-er met generiek en OO door elkaar. So sue me :P.
Output van mij wordt straks xml+xslt, waar weer xhtml uitkomt die weer javascript moet genereren, wordt dus nog leuk als ik vrij binnenkort ga beginnen aan het schrijven de XSLT. Voor user informatie ga ik nu sessies proberen i.c.m cookies en gedeeltelijk database, dit kwam hier ook eens aan de orde in een ander topic (geloof dat Grum dat noemde).

Snelheid is wel enorm toegenomen heb ik al gemerkt, ik geloof dat de nieuwe pagina's van mij tot wel 4 of 5 keer zo snel zijn, dus dat is zeker wel positief!

Post hier om nieuwe ervaringen op te doen over je programmeerstructuren :)
zo ik heb ff niet meer te melden

Doet iets met Cloud (MS/IBM)


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Ja eigenlijk ben ik het wel eens met D2k. Ik had al enige tijd programmeerervaring voordat ik aan PHP begon dus de stijl e.d. was niet echt een probleem. Ik merk wel dat ik de laatste tijd toch nog iets consequenter wordt.

OO gebruik ik niet echt, daarvoor is het probleem vaak niet complex genoeg en het is niet echt snel. Ik gebruik OO in PHP alleen bij simpele structuren waarvan meestal 1 object wordt gemaakt wanneer polymorfisme nodig is (modules e.d.)

Ik merk dat ik steeds meer generaler ga programmeren, zodat zoveel mogelijk later her-gebruikt kan worden. Nadeel hiervan is dat het langer duurt om het op te zetten, maar het is wel erg :9~ als een mooie constructie blijkt te werken ;)

Verder the usual shit, MySQL database als backend. Ik gebruik nu XML/XSLT om de html te genereren, maar daar ben ik nog mee bezig. Vroeger (lees paar maanden geleden, het gaat snel tegenwoordig) heb ik voornamelijk het header/footer principe met voor elk 'onderwerp' een template idee gebruikt.

PHP verder bevalt me erg goed, hoewel ik C++ bijvoorbeeld een veel mooiere taal vindt moet ik er niet aan denken dat ik al mijn scripting daarin had moeten maken :)

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
zo schijn ik mysql gruwelijk fout te doen met mijn mysql_fetch_array() en een loopje

schijnt met while() weer beter te gaan
maar heb dat nooit gebruikt om dat ik dat andere altijd heb gebruikt

Klopt dat? En wat zijn de verschillen?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Alex
  • Registratie: Juli 2001
  • Laatst online: 28-02 19:26
code is voor iedereen apart, ik doe het vaak zo:
source.php
funcs.inc.php
->function/class.inc.php
vars/config.inc.php

en dan comment:
source.comment.php
funcs.comment.php

in de source files doe ik het dan zo: #Comment 34
en dan vind je in de comment files: Comment 34: Check ......

source:
PHP:
1
2
3
4
5
6
7
8
9
<?
if($rulez == "not"){
   #Comment 1
   print "blaat";
} else {
   #Comment 2
   $helaas = 1;
}
?>

comment:
code:
1
2
<b>Comment 1:</b> print blaat want ....
<b>Comment 2:</b> tis helaas niet gelukt dus ....

Zo blijft mijn source klein en kun je toch de source aan laten passen doro collega ofzo!

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


  • Grum
  • Registratie: Juni 2001
  • Niet online
source die klein blijft maakt niet echt zoveel uit .. ik heb ongeveer 5000 regels source (staat ook ergens op internet >:) ) geschreven en daar zijn nog niet eens 800 lines unique van en er zitten gewoon comment blocks in.

Leesbare & duidelijke source is veel belangrijker dan wel of geen comments in je file of je file zo klein mogelijk te houden.

Btw .. je doet alleen maar dubbel werk .. en stel dat je nou bovenin 1 comment add ... ga je dan alles zitten hernummeren ? het is daarnaast ook alleen maar ENORM vervelend om steeds van file 1 naar file 2 te kijken om je 'comment' op te zoeken.

dit waren wel 4 eurocent denkik ;)

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op zaterdag 16 februari 2002 21:44 schreef prog-konijn een raar programmeer concept
En wat is nou het grote voordeel hiervan? Ik heb nog nooit een source-code bestand gezien waarbij het commentaar apart staat van de source. Het lijkt me uitermate onpraktisch als je elke keer moet gaan opzoeken wat commentaar betekent. Als je vindt dat commentaar je code onduidelijker maakt doe je echt iets fout.

[edit]Ik moet eens de hele thread doorlezen voordat ik reageer |:( Grum_ had er ook al wat over gezegd :)

Verwijderd

Toen ik begon met phpen (ook zo'n 8-9 maanden geleden) was mijn code een puinhoop, geen duidelijke structuur, geen commentaar enz..

Nu ik wat verder ben is mijn code wel aan het verbeteren. Ik gebruik dezelfde code opmaak als d2k en dit bevalt me prima en nu zet ik ook regelmatig wat comments erbij tussen de code. Ik merk daardoor dat het makkelijker is voor mijzelf en voor anderen om het nog eens te bekijken.

Als database gebruik ik al een tijdje PostgreSQL alleen ben ik nog niet echt toe gekomen aan de speciale dingen zoals procedures, foreign keys, views etc. Wel heb ik SQL beter onder de knie gekregen. Ik denk dat ik bij mijn volgende site zeker meer gebruik ga maken van deze functies.

Ik heb tot nu toe nog niks in OO gedaan, wel interesseerd me dit en ik denk dat ik daar ook binnenkort wat mee ga spelen. Ik heb wel wat vraagtekens want mij lijkt het dat als je objecten maakt er vaak in je script maar 1 keer een object gebruikt wordt, mij lijkt het dat OO vooral is om meerdere objecten tegelijk te gebruiken of zit ik hier fout?

De output van mij nog steeds gewone html met soms wat JS tussen door. Niet echt bijzonder dus. Ik heb me nog niet echt verdiept in XML en wat ik daar eventueel mee kan doen.

  • WoutF
  • Registratie: Maart 2000
  • Nu online

WoutF

Hoofdredacteur
Ik ben denk ik op een foute manier met PHP begonnen. Ik had erg weinig programmeer ervaring, alleen een beetje VB en QBasic. Ik heb toen tegen een kennis die een scripter zocht gezegd dat ik wel een site voor hem kon scripten als hij mij maar tijd genoeg gaf.

Nouja, ik dus www.php.net in 1 browser venster, notepad in het andere. Toen wat tutorials en sample scripts erbij gepakt en maar begonnen. Zoals je je wel kan indenken was de source van deze eerste site een ramp.
  • Plain tekst passwords in cookies
  • Alles input van de user als correct aannemen
  • Geen check doen op POST en COOKIE vars.
  • Ranzige brij van print en echo
  • Hele trage MySQL querys. (overal de hele rij selecten.)
En zo kan ik nog wel even doorgaan.

Ik ben nu ongeveer een jaar verder en een heel stuk wijzer.
Alles is een stuk schoner, alhoewel ik nog steeds geen gebruikt maak van templates. Ik heb mij meer verdiept in SQL, wat echt hard nodig was.

Toch doe ik nog steeds niet aan OO en templates. OO niet, omdat ik eigenlijk niet het voordeel zie van
PHP:
1
2
3
<?
echo $blaat->foo;
?>

t.o.v
PHP:
1
2
3
<?
echo $blaat[foo];
?>

Maar dat zal wel aan mij liggen. Templates doe ik (nog) niet aan omdat het mij veels te langzaam werken lijkt. Nu kan ik lekker in de code wroeten en snel aanpssingen maken en voor zover ik weet kan dat met templates niet zo simpel.

Voor de rest houd ik mij aan de regels van net coden die D2k in de FAQ verwerkt heeft.

Ik heb al een klein lijstje opgesteld van wat ik in de toekomst nog wil gaan leren.
  • OO (ben toch benieuwd of het echt beter werkt)
  • Templates (zie hierboven)
  • Meet commenten (ik comment nu echt helemaal niks)
  • XML/XSLT/XHTML output
Genoeg te leren dus :)

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 19-08 14:53
Op zondag 17 februari 2002 00:01 schreef Wout het volgende:
Voor de rest houd ik mij aan de regels van net coden die D2k in de FAQ verwerkt heeft.
Volgens mij zijn dat niet echt 'regels', maar eerder een richtlijn... ;) En wel een hele goede richtlijn imho. Het overzichtelijk, netjes en er is genoeg vrije ruimte.

* elnino gebruikt hem ook... :) en de mensen van phpBB ook (maar of dat een goed voorbeeld is, weet ik niet :P )

  • WoutF
  • Registratie: Maart 2000
  • Nu online

WoutF

Hoofdredacteur
Op zondag 17 februari 2002 00:52 schreef elnino het volgende:

[..]

Volgens mij zijn dat niet echt 'regels', maar eerder een richtlijn... ;) En wel een hele goede richtlijn imho. Het overzichtelijk, netjes en er is genoeg vrije ruimte.

* elnino gebruikt hem ook... :) en de mensen van phpBB ook (maar of dat een goed voorbeeld is, weet ik niet :P )
Het is ook niet dat ik de FAQ gelezen heb en mij toen er strikt aan ging houden. Ik las gewoon een keer de FAQ en zag die richtlijn en dacht "hey, zo doe ik het ook" :)

Verwijderd

Op zaterdag 16 februari 2002 19:45 schreef ddc het volgende:
Gebruik je OO in je code,
Soms, maar zelden is dat nodig/efficient/handig in PHP.
schrijf je commentaar in je code en zoja, waar schrijf je dan dat commentaar.
Bovenaan elke function een specificatie (meestal zoals phpdoc dat graag ziet)
Gebruik je bij het klaarmaken voor een database server side includes, en kun je later nog de tabelnamen aanpassen zonder 438 bestanden aan te moeten passen :?
Tabelnamen hardcode ik altijd. Ik werk wel met een (eigengamaakte db abstraction layer), dat is ook handig om het aantal queries dat je uitvoert bij te houden (en zo te kijken of het niet efficienter kan).
Wordt de userinformatie opgeslagen in de database, sessies of cookies, of helemaal niet.
Database en sessies. Cookies gebruik ik alleen om de username en encrypted password (ik weet het, erg fout) in op te slaan zodat je niet elke keer hoeft in te loggen.
Hoe is je output? Maak je er een oneliner van of zorg je dat de newbie er ook nog wat van snapt? En is die output eigenlijk wel html? Parse je zelf de pagina's met templates, laat je clientside het nodige werk doen (XSLT, javascript), of maak je de html layout gewoon static ?
Heb een hele tijd een templateparser gebruikt, ben daar nu van afgestapt omdat het het geheel toch wel redelijk vertraagd. Ik heb de onderdelen die men over het algemeen als template beshouwd op zo'n manier in het script gezet dat ik later makkelijk een script kan schrijven die je in staat steld die templates in-line aan te passen. XML/XSLT doe ik niet aan in PHP.
En nu het belangrijkste, hoe ervaar je het programmeren op deze manier, heb je andere methoden hiervoor gebruikt, en hoe bevalt het nu.
Het gaat lekker snel en je hebt dan ook snel resultaat. Ik code in principe liever in Java of Perl, nadeel is dat m'n host geen Java ondersteund en dat de mensen die m'n scripts moeten gebruiken ook geen host hebben die java ondersteund ;( Verder zijn de relatief simpele dingen die je over het algemeen in PHP maakt ook goed in PHP te doen.
Snelheid is wel enorm toegenomen heb ik al gemerkt, ik geloof dat de nieuwe pagina's van mij tot wel 4 of 5 keer zo snel zijn, dus dat is zeker wel positief!
Er valt over het algemeen het meest te optimaliseren door je queries efficienter te maken/minder queries te gebruiken.

  • Grum
  • Registratie: Juni 2001
  • Niet online
als je goed kan coden zijn comments over een speficiek stukje code ook niet echt nodig .. dan is een beetje info over de functie/class al genoeg voor iemand.

Dit is dus alleen als je enorm gestructureerd code :)

Mensen die het nodig vinden om 'elke' line van comments te voorzien die:
1/ zijn zelf nog niet goed genoeg dat ze et de volgende keer zelf weer snappen
2/ denken dat alleen maar mensen die dommer zijn dan zij het moeten lezen
3/ denken dat het nodig is

Alleen als ik in me code 'tover' dan denk ik er soms aan om comments te gebruiken. BV met dit soort perlcode (ranzige code maar ok, het was een proof of concept ;) )
code:
1
2
3
4
5
6
7
my @inArray = qw( key val key2 val2 key3 val3 );
my (%outHash, $tmpKey, $tmpVal);
 
while(($tmpKey, $tmpVal, @_) = @_)
{
   $outHash{$tmpKey} = $tmpVal;
}

NB: dit is totaal onzinnige code in perl aangezien je zo een array naar een hash kan 'casten'

extra: voor de liefhebber >:)
code:
1
2
3
4
5
# Doel .. het eerste stukje voor de : pakken in zo weinig mogelijk lines ;)
# (en wederom proof of concept (dat perl et zo toestaat :P ))
my ($string, $val, $rest) = ('-1:ERROR: no blaat!');
 
($val, ($rest = join ':', @_)) = split /:/, $string;

PS: als ik iemand erop betrap dit te gebruiken ga ik em slaan met een perl bookshelf ;) :+

  • Johannes
  • Registratie: Juni 2000
  • Laatst online: 27-08 21:32
Op zondag 17 februari 2002 10:54 schreef Grum_ het volgende:
als je goed kan coden zijn comments over een speficiek stukje code ook niet echt nodig .. dan is een beetje info over de functie/class al genoeg voor iemand.

Dit is dus alleen als je enorm gestructureerd code :)

Mensen die het nodig vinden om 'elke' line van comments te voorzien die:
1/ zijn zelf nog niet goed genoeg dat ze et de volgende keer zelf weer snappen
2/ denken dat alleen maar mensen die dommer zijn dan zij het moeten lezen
3/ denken dat het nodig is
Je hebt hier wel deels gelijk in, maar ik denk dat het soms wel handig is om een groot deel van je code te commenten. Vooral bij wat moeilijkere algoritmes(threaden van messages bijv., heb ik nog hoofdpijn van :P ), heb ik heel vaak dat er om de paar regels code een comment staat. Er is wel een deel minder geworden doordat ik niet meer rechtstreeks op de datastructuur werkte, want aanroepen van:
code:
1
Tree.AddChild(parent, etc...)

is wat makkelijker dan:
code:
1
2
3
Node.Parent = ParentNode
Node.Next = Parent.Child
Parent.Child = Node

Maar misschien is dit wel een onderdeel van 'enorm gestructureerd coden'. Comments voor elke function, class en module vind ik trouwens wel bijna altijd must-haves, behalve als je een mooi OO-design hebt gemaakt met functies als:
code:
1
2
def GetTextColour(self):
    return self.TextColour

Dan is het nogal onnodig om de docstring(soort van comment in Python waaruit documentatie gemaakt kan worden) te gebruiken.

Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 11:51

TheDane

1.618

mijn ervaringen: :P

Ik ben bij mijn huidige werkgever begonnen als pl/sql programmeur. Was allemaal heel erg leuk, maar -gelukkig voor mij omdat ik er nog echt de ballen verstand van had- was het een enorm gepruts.

Op een gegeven moment zijn we op 't werk begonnen met een portal constructie voor onze VC's, en die wilden we graag op php laten draaien, aangezien we verschillende opmaak voor zelfde pagina's moesten hebben. templates dus.

Een collega heeft me hier een keer een hele dag 'les in gegeven', en toen hebben we met z'n 3en paspoort in elkaar geprutst. Iedere functionaliteit in een aparte php file, geen functies, template files in de webtree, undocumented spaghetti code enz enz, bagger dus ;)

Dit moest beter, en ik ben toevallig net klaar met 't herschrijven ervan.

't is nu OO opgezet, degelijke template structuur, sessie & autorisatie management, ben nu bezig de technische handleiding ervoor te schrijven, alle functies, aanroepen etc documenteren, heb er dfd's voor gemaakt, en gestructureerd getest, and it works deliciously


als ik zo 't verschil zie in wat ik in die anderhalf jaar geleerd heb, krijg ik altijd zo'n "i have seen the light"- gevoel :)

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 31-03 16:47

CyberSnooP

^^^^ schrijft --->

Wat in PHP helpt om (gedeeltelijk) netjes te coden is de PHP4.1 richtlijnen aan te houden. D.w.z. error_reporting op het hoogste niveau, register_globals uit en meer van dat soort dingen niet toestaan.

Verder werk ik persoonlijk tegenwoordig met een 3 scheiding:
• Data-logica. Een of meerdere classes waarin met allerlei methods en properties de data kan worden opgevraagd / bewerkt
• Pagina samenstelling. Platte PHP scripts die de data benodigd voor een pagina opvragen en naar de template engine werpen
• Design. Externe HTML templates. Smarty is absoluut favoriet, i.v.m. compile time functies.

Bovendien probeer ik als het even kan teksten los van de html templates te laten. Met een compile-time template functie (zie Smarty) laat ik teksten (eenmalig) uit een database in de template invoegen.

De data-logica moet zo generiek mogelijk geschreven worden zodat hij te hergebruiken is voor verschillende sites. Een centrale component (ik noem het modularSite, maar dat gaat nergens over) helpt mij met de configuratie en de paden uitlezen.

Bij de data logica ben ik sinds kort gebruik gaan maken van phpDoc-style commentaar. Ik moet zeggen dat het af en toe wat overbodig oogt (bijv elke functie getName() documenteren, terwijl het duidelijk is wat ie doet).

|_____vakje______|

Pagina: 1