[PHP] 'Develop rock-solid code in PHP' artikel (IBM)

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

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op de IBM AlphaWorks pagina's kwam ik een interessante serie artikelen tegen, genaam "Develop rock-solid code in PHP", in 3 delen:
1) Lay the foundation
2) Use variables effectively
3) Write reusable functions

Hopelijk kunnen wat mensen hier hun voordeel uit halen.

Enjoy :)

Acties:
  • 0 Henk 'm!

  • xychix
  • Registratie: September 2000
  • Laatst online: 16-09 07:50

xychix

FreeBSD Rules !

Verwijderd schreef op 24 December 2002 @ 06:19:
Op de IBM AlphaWorks pagina's kwam ik een interessante serie artikelen tegen, genaam "Develop rock-solid code in PHP", in 3 delen:
1) Lay the foundation
2) Use variables effectively
3) Write reusable functions

Hopelijk kunnen wat mensen hier hun voordeel uit halen.

Enjoy :)
vind het 3e artikel errug goed, moet de rest nog ff lezen.

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad


Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
MrX: +4 Interessant :+

Grappig dat ik over de meeste dingen precies hetzelfde denk/dacht. Gelukkig code ik niet meer :P

[ Voor 1% gewijzigd door Grum op 24-12-2002 07:37 . Reden: Moet ik Interessant wel goed schrijven 8)7 ]


Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Goed artikel, jammer dat ze niets over classes enzo vertellen... misschien dat dat nog komt?

Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

Hmm lektuur voor tijdens de familie verplichtingen zo te zien ;)
dat jaag ik strax wel ff uit de printer :P

tnx voor de linkjes

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Wow.. thanks :) Zowaar eens een nuttig artikel over PHP.. en nog wel van IBM :)

Ff de PDF'jes downloaden en printen..

[ Voor 21% gewijzigd door Bosmonster op 24-12-2002 09:48 ]


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

MisterData schreef op 24 december 2002 @ 09:29:
Goed artikel, jammer dat ze niets over classes enzo vertellen... misschien dat dat nog komt?
Dit is denk ik vooral bedoeld voor mensen die al hun code (eventueel met de HTML erbij) in één bestand gooien, met een hoop if-jes en else-jes en dat soort dingen. Deze artikelen zijn denk ik een heel goed beginpunt om 'modulair' te gaan denken, functies simpel te houden en eerst na te denken voor je blind gaat coden. Dan ga je, hopelijk, vanzelf aan classes denken ;) . Daarnaast is het denk ik ook een goed basisstuk voor iemand die nooit geprogrammeerd heeft in andere programeertalen dan PHP... Thanks MrX! :)

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Het is inderdaad wel een aardig stuk. Ik heb het nog niet helemaal gelezen, maar volgens mij staat er niet veel nieuws in als je /14 een beetje in de gaten houdt ;)

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Mja, ik moet zeggen dat ik er wel goede dingen tussen vindt staan, maar ik heb ook 't idee dat 't redelijk van de hak op de tak gaat... 't Is meer een lijst met ideeen dan een stel goed lopende artikelen, imo :)

desondanks best leuk :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Zitten wel vage dingen in hoor...

Hij legt netjes uit hoe je variabelen en functies kan evalueren.. en das nu net wat je NIET moet doen als je overzichtelijke code wilt schrijven. ($$var en $var() enzo).

Verder draait ie z'n vergelijkingen ook om, wat nogal onleesbaar is imho:

if ( 0 == $var ) { ... }
if ( false === $var ) { ... }

Geen dingen om over te nemen...

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Dat laatste doet men vaak om typo's met assignments te voorkomen:

code:
1
if ( $var = 0 ) { ... } // ok

of
code:
1
if ( 0 = $var ) { ... } // error

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Bosmonster schreef op 24 December 2002 @ 10:57:
Zitten wel vage dingen in hoor...

Hij legt netjes uit hoe je variabelen en functies kan evalueren.. en das nu net wat je NIET moet doen als je overzichtelijke code wilt schrijven. ($$var en $var() enzo).

Verder draait ie z'n vergelijkingen ook om, wat nogal onleesbaar is imho:

if ( 0 == $var ) { ... }
if ( false === $var ) { ... }

Geen dingen om over te nemen...


Waarom niet? Ikzelf gebruik heel vaak deze volgorde, al is het in een andere context. In Java gebruik ik namelijk vaak de volgende constructie:
Java:
1
if ( "hoi".equals(var)) { ..... }

Op deze manier voorkom je een nullpointer exception. Daarnaast is de === ook erg netjes mbt het ook controleren van het type (Tenzij je gebruik maakt van het feit dat elke var ook als boolean kan worden geinterpreteerd).

Maar ik moet je gelijk geven waneer je vindt dat het wel wat overdreven is. Het is niet fout om te gebruiken, maar ook niet slordig waneer je gewoon
PHP:
1
if ($var) {..}

gebruikt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Janoz schreef op 24 December 2002 @ 11:20:
Waarom niet? Ikzelf gebruik heel vaak deze volgorde, al is het in een andere context. In Java gebruik ik namelijk vaak de volgende constructie:
Java:
1
if ( "hoi".equals(var)) { ..... }

Op deze manier voorkom je een nullpointer exception. Daarnaast is de === ook erg netjes mbt het ook controleren van het type (Tenzij je gebruik maakt van het feit dat elke var ook als boolean kan worden geinterpreteerd).
NullPointerExceptions zijn echt Excepties die komen door fouten in je programmatuur.
Eigenlijk moet Java gewoon van een variabele kunnen afdwingen dat deze nooit null kan zijn, want nullwaardes (en deze zo verbergen) zorgen juist voor inconsistentie van objecten welke ontzettend moeilijk te traceren zijn :)

edit:
Verder vraag ik me af waarom je überhaupt met een hardcoded string gaat vergelijken.

[ Voor 6% gewijzigd door Glimi op 24-12-2002 11:37 ]


Acties:
  • 0 Henk 'm!

  • ThaDaNo
  • Registratie: Mei 2002
  • Laatst online: 05-04-2023
Handig voor tijdens kerstdiners te lezen ;)

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Glimi schreef op 24 december 2002 @ 11:36:
[nohtml]
[...]
[/nohtml] NullPointerExceptions zijn echt Excepties die komen door fouten in je programmatuur.
Eigenlijk moet Java gewoon van een variabele kunnen afdwingen dat deze nooit null kan zijn, want nullwaardes (en deze zo verbergen) zorgen juist voor inconsistentie van objecten welke ontzettend moeilijk te traceren zijn :)
Helaas heb je niet over al je data controle. Denk hierbij bijvoorbeeld aan userinput. Het is niet dat ik een nullpointerexception probeer te verbergen, ik probeer hier juist te zorgen dat er normaal vergeleken kan worden met een variable die (zelfs volgens de specs) null kan zijn.
edit:
Verder vraag ik me af waarom je überhaupt met een hardcoded string gaat vergelijken.

Ik heb hier ff de hardcoded string neergezet om aan te geven welke wel van tevoren bekend is en welke niet. In de werkelijke programmatuur wordt hier een constante gebruikt..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07 12:07
nou nou effe doorgenomene en als gewinterd PHP coder heb ik toch heel zware bedenkingen bij de 'dude's comment. 'References are like pointer in C++'. Dat is zowat de grootste fout die je kan maken in PHP om die ook maar te vergelijken... Staat zelfs in GROTE warning in de toch wel erg complete manual/notes die PHP het geluk heeft te hebben.

Voor de rest nog een heel hoopje van programming tips die voor elke programmeer taal tellen en niets met PHP op zich te maken hebben (reusable functions? - oh really that's a great idea). En nog maar te zwijgen over variable variables... Toegeven bij kleine projectjes zijn ze soms handig, maar leesbaarheid boven alles..

Soit blijkbaar werken er dus mensen bij IBM die net van de schoolbank afkomen en zelf nog nooit echt iets gemaakt hebben. (wil niet zeggen dat er een paar goede tips bij staan, maar met het lezen van de manual kun je toch een pak meer leren)...

my few cents' worth

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 14:20
Glimi schreef op 24 December 2002 @ 11:36:
Eigenlijk moet Java gewoon van een variabele kunnen afdwingen dat deze nooit null kan zijn, want nullwaardes (en deze zo verbergen) zorgen juist voor inconsistentie van objecten welke ontzettend moeilijk te traceren zijn :)
Even Alarmnummer het gras voor de voeten wegmaaien: Nice. :+

Een erg mooie feature als je 't mij vraagt, want zoals je terecht zegt, wil je een strict onderscheid maken tussen references die wel of niet null mogen zijn op een bepaald moment (en null zijn, mag alleen als dit een zinnige betekenis heeft; niet om maar wat onverwachte fouten te ontwijken).

In C++ wordt het onderscheid enigszins aangegeven door het gebruik van references (niet null) en pointers (mogelijk wel null), al is dit alleen een goede conventie en geen eis die vanuit de taal opgelegd wordt. Het verschil in syntaxis tussen C++ references en pointers is wat dat betreft ook wel fijn; als je een pointer dereferenced, weet je dat het fout zou kunnen gaan.
Pagina: 1