Jyske Bank er rykket ind i Glaskuben på Kalvebod Brygge, et markant byggeri i hjertet af København. Knap 1.000 arbejder her, heraf 200 i IT, med nye rammer for samarbejde, innovation og udvikling.
Næe, det er det heller ikke, ihvertfald ikke medmindre og 'dir' og 'entryname' er defineret som konstanter.
det kunne være en sjusket måde at skrive ${"dir"} og ${"entryname"} som så går godt fordi php er meget tolerant med syntaksen og tillader and man udelader anførselstegn om strenge her og der.
${"dir"} og ${"entryname"} er så variabele variable, bortset fra at der her angiven en konstant så det ville være præcis lige så godt (og faktisk bedre) at skrive: $dir og $entryname
hvis jeg var helt sikker på det er det ville jeg kalde det noget skodkode.
I en tekststreng betyder notationen "....${variablenavn}...." blot ganske almindelig variabel substitution ganske som ".....$variabelnavn....".
Anvender man {...} på dette sted, kan PHP imidlertid forstå langt flere variabel-syntakser end eller. Et simpelt eksempel er
$a['kkk']='ppp'; print "her er $a['kkk'] \n";
som giver fejl, mens
$a['kkk']='ppp'; print "her er ${a['kkk']} \n";
går godt.
På sin vis kan man sige, at det er den sikre og pæne måde at lave variabel-substitutioner på i tekststrenge, og at "...$variabelnavn..." blot er den hurtige, forkortede måde der tilfældigvis bare virker.
Det er bestemt ikke skodkode.
Det kan sammenlignes med altid at skrive `feltnavn` i MySql, selv om det ikke er et reserveret ord, eller også i MySql at bruge '...' omkring tal, selv om det ikke er nødvendigt '7913'.
I eksemplet ovenfor burde forfatteren have været konsekvent og bruge, eller ikke bruge, det alle steder.
Uden for tekststrenge betyder det ganske vist "variable variable".
Hvad bidrager det med i hans eksempel? Det kan jeg stadig ikke se.
Synes godt om
Slettet bruger
02. september 2003 - 11:36#7
Iøvrigt er det da helt korrekt, hvad jakoba skriver at ${variabelnavn} fremfor ${'variabelnavn'} er slamkode. Idet PHP skal gætte, at der ikke er tale om en konstant (som syntax'en ellers indikerer).
Jo, men mercur8, i dette eksempel, i tekststrenge, er det ikke længere variable variable.
Bidrager med i hans eksempel? Bortset fra han ikke er konsekvent, er det på linie med om man skal have { ... } med i en if, hvis der kun er een sætning:
if (.....) { a=9; }
Overflødigt, men læseligt, og nemmere hvis der en dag skal udvides. Jeg tager dem gerne med i dette tilfælde.
I PHP strenge kan man gøre det samme. Der er er f.eks. forskel på
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.