PHP fifs
|
Forord: Inden jeg går i gang, kommer der – som der vist plejer – lidt forord. Det, jeg prøver at nå med denne artikel er, at lære nybegyndere såvel som mere erfarne kodere nogle nye teknikker og metoder, der måske vil være til hjælp, næste gang du skal i gang med en applikation. Dette skriver jeg, fordi eksemplerne i min artikel kun vil være eksempler, de vil rettere sagt være ubrugelige. Så undlad venligst at skrive kommentarer som ”Fin artikel, men hvad skal jeg bruge det til?”, for artikler handler jo ikke om hvad du skal brugere ting til, det hedder en anmeldelse, derimod handler det om at du lærer noget. Det er vigtigt, at du før har arbejdet med funktioner og løkker før. Hvis ikke vil jeg kraftigt råde dig til at læse nogle artikler og lege lidt med det, inden du fortsætter med denne artikel. Det gør heller ikke noget, hvis du har et nogenlunde kendskab til PHP generelt, da jeg af visse grunde ikke gennemgår det helt basale, som for eksempel hvad PHP’s ++ operator gør. Indhold: - Funktioner - Løkker - IF-sætninger - Syntaks - Datatyper - print frem for echo Funktioner: Jeg kan starte med at sige, at når jeg går i gang med en ny applikation i PHP, starter jeg altid med at lave en række funktioner, som jeg ved, jeg kommer til at få brug for senere. Det sparer mig for en masse arbejde, og ved at lægge funktionerne i en ekstern fil for senere at inkludere den slipper jeg også for at oprette den samme funktion en masse gange. En måde at bygge det op på, er ved at lave et såkaldt ”funktionsbibliotek”. I starten forstod jeg ikke meningen af det ord, og arbejdede bare videre som jeg altid har gjort, men det er faktisk en utrolig smart ting, som også bruges i ”rigtige” programmeringssprog som Delphi (uses) og C++ (#include). Et eksempel: bibliotek.php:
Til dem, der ikke fulgte mit råd om at læse lidt om funktioner først, er her en forklaring af dem: En funktion består af 5+ dele: Den identifier, som angiver vi vil oprette en funktion: function. Dernæst kommer navnet på funktionen, for eksempel ”f3”, en række parametre som funktionen kan behandle, et sæt tuborgklammer for at indeksere funktionens kommandoer, og til sidst en (engelsk) ”return value”, altså de data man får, efter funktionen har udført sine kommandoer. Et eksempel på en funktion kunne derfor se sådan her ud:
Og hvis vi lige vil teste vores funktion:
Det kan også tit blive nødvendigt at bruge andre objekter – for eksempel en løkke – i en funktion. For at give et sjovt og lærerigt eksempel på det her, vil vi lave en funktion, magen til PHP’s indbyggede strRev() ( http://dk2.php.net/strrev ) funktion. Jeg forklarer funktionen bagefter, men prøv først selv at se om ikke du kan regne den ud selv.
Altså: Først oprettes en funktion, som jeg har valgt at kalde ”Reverse”, fordi den vender værdien af parameteren $string om. Med strlen($string) får vi længden ud af $string. Så løber vi bogstav for bogstav igennem med en while, og tilføjer det aktuelle bogstav til den variabel ($reversed), vi vil returnere (return). Bogstavet finder vi frem ved at skrive $string[$length]. Dette gør vi, fordi:
Løkker: Løkker er ligeså virksomme som funktioner. Forskellen er, at løkker kører en kommando x antal gange, hvor en funktion kun kører den 1 gang. Du kan selvfølgelig putte en løkke ind i en funktion, som jeg også gav et eksempel på før, men løkken vil stadig kun blive kørt en gang (medmindre du putter den ind i en anden løkke, men sådan kan vi jo blive ved ;)). Hvis du skal lave noget bestemt HTML output på en side, men som du ved, du ikke får brug for på andre sider, kan du snildt bruge en løkke her. Følgende kode vil for eksempel give os en <select>, med <option>’s helt fra 1930 til 2006:
Jeg giver lige et til eksempel med en løkke, inden jeg går videre. Denne gang forklarer jeg dog ikke hvad der sker, det er op til dig selv at finde ud af, og hvis ikke du kan det må du jo teste resultatet på en PHP-understøttende server ;).
IF-sætninger: Dem har jeg til gengæld ikke så meget at sige om, for de er ikke ligeså komplekse som det vi tidligere har gennemgået. Men hvis du bare lige hurtigt skal tjekke en variabel eller 2, er der en måde hvorpå du kan slippe for en masse bøvl med at skrive if ([betingelse]) { … } elseif ([anden betingelse]) { … } else { … }. Den ser sådan her ud:
Dernæst laver vi variablen $pizza. Den giver vi en valgmulighed. Hvis det, der står i parenteserne er sandt, vil $pizza være lig ”Ja”. Ellers bliver det et ”Nej”. Denne syntaks er lidt svær at beskrive fordi den er så uregelmæssig, men det er præcis det samme som det her:
Og sidst: Du behøver ikke parenteserne, jeg har kun lavet dem for at gøre det mere overskueligt. Syntaks: Jeg kender ikke nogle programmeringssprog, der har sin egen, faste syntaks. Og hvis jeg gjorde ville jeg holde mig langt væk fra det sprog. Syntaksen i en kode er en meget vigtig ting, men det vigtigste er selv at kunne bestemme hvordan den skal se ud. I mine eksempler har I set lidt af det, men man kunne også skrive tingene sådan her:
Et eksempel:
I stedet for at bruge den klamme, der starter en indeksering ( { ), bruger vi et kolon ( : ), og i stedet for at bruge den klamme, der slutter en indeksering ( } ), bruger vi en ny identifier, nemlig endwhile (og ja, havde vi brugt en løkke som for havde vi i stedet skrevet endfor). Det samme kan du også gøre med IF-sætninger, men (igen) ikke med klasser og funktioner. Datatyper: Når du arbejder med data i PHP, arbejder du mere eller mindre ubevidst om hvad type dine data er af. Selv tænker jeg ikke over det, medmindre jeg skal tjekke om for eksempel en variabel indeholder et tal eller en streng. Det kan gøres på flere måder, men af dem er således:
Det vi gør, er at vi lægger en streng ind i variablen $tal. Bagefter laver vi en IF-sætning med den syntaks, jeg forklarede lidt om før. Hvis $tal er identisk (3 x ’=’) med en ”tal udgave” (int står får ”integer” som betyder ”tal”), skriver vi ”$tal indeholder et tal”, ellers skriver vi ”$tal indeholder en streng”. PHP har dog allerede en lignende funktion, og den hedder getType(), så dette var blot endnu et eksempel på at lave en nyttig funktion. Til dem, der ikke har set operatoren ’===’ før: Det er en sammenligningsoperator, ligesom ’==’, men forskellen er, at ’===’ tjekker både værdi og type, hvor ’==’ kun tjekker værdien. ’===’. Uden at være helt sikker, men jeg ’===’ kom med siden PHP 4.2.0. print frem for echo Jeg synes, der er flere grunde til at bruge print frem for echo. For der er nemlig en del forskellige på de to. I manual sammenhæng ser de to nemlig sådan ud:
En anden ting er..
Det kan diskuteres hvor relevant det er, om man bruger print eller echo, for i princippet er det jo op til dig selv, jeg tænkte bare lige jeg ville tage den med, fordi der faktisk er mange der ikke kender til forskellen. Endnu engang har jeg dog dummet mig, og skrevet artiklen om natten, hvor jeg naturligt er mere træt og derfor mindre koncentreret, hvilket resulterede i, jeg ikke fik uddybet de forskellige ting så meget som jeg egentlig godt ville, men på trods af det er den blevet temmelig lang. Hav en velsignet skolestart ;) Sidst redigeret 18:59 - 13/08/2006 |
|
Kommentarer
Giv din mening tilkende om denne artikel, eller læs andres.Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
| Du forklare det godt... |
Oprettet af:
|
|
Thumps Up ;D Har læst artiklen senere hen igen, synes virkelig det er godt arbejde ;D |
Oprettet af:
|
|
v0id, der er jo forskel på PHP og C; ' ' laver kun en char i C(++). I PHP er der slet ikke nogen char-type. Den laver også en streng, om end den har færre muligheder en ""-strengen. Sidst redigeret 23:30 08/01/2008 |
Oprettet af:
|
Side af 2
