"Thomas Lundstrøm" <thomas-l@mail.com> skrev i en meddelelse
news:3B002702.B3B0B40C@mail.com...
> Jeg har ikke helt fanget ideen med classes... Er det ikke 'bare' en
> række funktioner som er kædet sammen, eller hvordan?
Funktioner og andre ting.
Jeg har fx. et "objekt" der bruges på alle sider på min egen hjemmeside.
Når en session oprettes bliver dette objekt lavet, ud fra en class.
$langobj = new langclass(); // (så vidt jeg husker)
Den laver altså objektet $langobj ud fra classen langclass. (Jeg bruger
andre navne i virkeligheden)
Når et objekt dannes ud fra langclass vil dette objekt finde ud af hvilke
sprog der er understøttet på min side, og hvilke sprog den besøgende
forstår. Ud fra det laver den en tredje liste, som indeholder de sprog der
skal benyttes.
Når jeg så skal indslætte noget på en side kan jeg fx. skrive:
$langobj->displayContent("forsiden");
Så vil funktionen "displayContent" i objektet "$langobj" slå op i databasen
hvilke sprog forsiden findes på, og sammenligne med listen over sprog der
benyttes. Så vil den finde det bedste sprog fra databasen, og spytte det ud
på siden.
Objektet er i øvrigt fyldt med alle mulige relaterede funktioner. Jeg kunne
kalde dem alle for "langWhatever", og så beslutte at andre funktioner ikke
må starte med "lang", og på den måde undgå at få to funktioner med samme
navn. Men dette er lidt smartere.
I øvrigt laver jeg $langobj til en sessionsvariabel, så alt det med hvilke
sprog der skal benyttes osv. kun udregnes én gang pr. besøg. Og hvis en
besøgende manuelt vælger et andet sprog, så bliver det også gemt i dette
objekt. (og i en cookie...)
> Hvad er fordelen med class fremfor alm. funktioner?
Det kan man ikke sige, da det er to vidt forskellige ting. :)
Men klasser er altså det, der gør det muligt at programmere
objekt-orienteret i PHP. "Alle" er enige om at den eneste rigtige måde at
programmere på er objektorienteret. Et projekt skal ikke være særligt stort,
før det kan betale sig.
Jeg vil helt klart anbefale enhver der "vil noget" med programmering at lære
noget om oo-programmering.
Jakob har allerede givet dig et par henvisninger til manuelen, jeg kan
derudover anbefale disse artikler fra phpbuilder.com:
Object Oriented PHP
http://phpbuilder.com/columns/mark20000727.php3
Object Oriented Programming in PHP: The way to large PHP projects
http://phpbuilder.com/columns/luis20000420.php3
Classes and PHP
http://phpbuilder.com/columns/rod19990601.php3
Jeg tror vist de alle starter ca. fra bunden, men på hver siden måde. Hvis
du læser en, og ikke fatter den, så læs en af de andre. Når du efterhånden
har forstået konceptet, så det, du ikke fattede før, igen. :)
Ideen ER svær at forstå. Men når først man har fundet "fidusen", så kan det
lette ens arbejde meget.
Og så bliver det i øvrigt ikke lettere (at forstå) af, at PHP ikke er et
"rigtigt" oo-sprog, som fx. Java.
Mvh.
Niels Andersen