|
|
||||||||||
|
<< Tilbage OOP i PHPRent kodemæssigt er der intet hokuspokus i at arbejde med OOP i PHP, da der kun er nogle få elementer man skal have styr på. Den svære del består i at forstå sammenhængen og meningen, specielt hvis man ikke har arbejdet med andre sprog der benytter det. Har du beskæftiget dig med de lidt mere omfattende projekter, så har du sansynligivs også fundet ud af, at din kode hurtigt kan udvikle sig til noget rod, uden struktur og uden overblik. Det er altsammen noget OOP skal afhjælpe, samtidig med at du lettere vil kunne foretage ændringer og genbruge dele af koden.Klasser og objekterOOP bygger på klasser, rent kodemæsssigt er en klasse intet mere end en samling af variabler og funktioner. Men de hører naturligt sammen, og er ikke bare en stor samling af tilfældige variabler og funktioner, som man kan benytte af. Betragt en klasse som en kodemæssig beskrivelse af en ting, en slags, en type. Vi kunne f.eks. lave en bil-klasse. I denne bil-klasse kan vi oprette nogle variabler der er tilknyttet en bil - fx mærke, model, farve og max. hastighed. Derudver skal bil-klassen også kunne udføre nogle opgaver - fx bremse, accelerere, blinke og skifte gear. Bevæger vi os over i web-verdenen, så kunne vi fx lave en brugerprofil-klasse (med oplysninger om navn, email, status, og funktioner som slet, opret, ændre status). I sådan et tilfælde har vi kun én klasse, alle brugere er baseret på denne klasse, fordi de alle er brugere. Kig dig omkring, din verden er fyldt med objekter. Min hund Fido er et objekt, baseret på en overordnet klasse der hedder 'hund'. I denne klasse er egenskaberne (alder, race..) og metoderne (gø, dække, æde..) for hunde beskrevet. Naboens hund er ligeledes et objekt baseret på klassen 'hund' - eller en instans af klassen hund som man kalder det.Første klassePå nuværende tidspunkter forventer jeg ikke at du forstår konceptet fuldt ud, da det samtidig også kræver en portion erfaring i praksis for at forstå (iøvrigt findes der flere bøger om emnet). Men lad os komme igang med at lave den første klasse... i eksemplet herunder opretter vi en, indtil videre, tom klasse kaldet 'Bruger':Kode:
Kode:
Kode:
Oprette objekterKode:
ConstructorsEn constructor er en funktion der bliver kaldet, lige så snart et nyt objekt oprettes. Constructorfunktionen skal have samme navn som klassen selv, eksempel:Kode:
Resultat: Brugerens id er 100, hent evt. informationer fra min database og
definer egenskaberne (variablerne) i denne klasse
Mere læsningDet har været kort introduktion, men der er i virkeligheden mange flere aspeker i emnet. Så gå gerne på opdagelse i disse links: Object-Oriented Programming ConceptsGenerel introduktion til begrebet. God læsning. PHP Manualen: classes and objects Yderligere beskrivelse af det rent praktiske i oop i PHP. Devarticles: object oriented programming in php Endnu et detaljeret introduktion til oop i PHP, en del gode eksempler. |