Mazliet par elementāro objektorientāciju PHP (tālāk rakstītais uz PHP 4.x, bet, ļoti iespējams, attieksies arī uz PHP 5.x)
PHP izveidot klasi ir pavisam vienkārši. Rakstām
class TestKlase{}
un ir deklarēta jauna klase TestKlase. Līdz ar to turpmāk PHP kodā var rakstīt $TesVar = new TestKlase();
un būs zināms pavisam droši, ka $TestVar ir klases TestKlase objekta instance. Klasē var definēt arī iekšējos mainīgos, sauktus par atribūtiem. To dara šādi – tūlīt aiz klases nosaukuma deklarāciajs raksta atsevišķas rindas, kas sākas ar var un turpinās ar atribūta vārdu (un, iespējams, sākumvērtības definīciju). Tas ir, class TestKlase{
var $TestAtt1;
var $TestAtt2 = ‘1’;}
Līdz ar to, veidojot jaunu klases instanci, atribūts TestAtt2 iegūs vērtību ‘1’,bet TestAtt1 vērtību neiegūs vis. Vērtību inicializatori var būt tikai konstantes, ne dinamiski aprēķinātas vērtības (piemēram, datums). Par klases konstruktoru tiek uzskatīta funkcija, kuras nosaukums sakrīt ar klases vārdu. var $TestAtt1;
var $TestAtt2 = ‘1’;}
class TestKlase{
function TestKlase(){
$this->TestAtt1=”lalala”;
}
}
Kā redzams, šīs klases konstruktors uzstāda atribūta TestAtt1 vērtību uz string tipa mainīgo “lalala”. function TestKlase(){
$this->TestAtt1=”lalala”;
}
}
Klases iekšpusē, lai piekļūtu dotās instances atribūtu vērtībām, jālieto mainīgais $this, kas vienmēr norāda uz doto klases instanci (tieši tāpat kā valodā C++).
Klases metodes rakstāmas tieši tāpat kā parastas PHP funkcijas (kas tās pēc būtības arī ir), ieskaitot mainīgo redzamības apgabalu lietojumu, tas ir, lai piekļūtu globāliem mainīgajiem metodē jādeklarē mainīgais kā globāls, piemēram
function TestMethod(){
global $TABULASNOSAUKUMS;
}
. Klases, kas ir objektu kolekcijas, ir viegli veidot, izmantojot array objektu un arraypush() metodi, bet tos pēc tam apstaigāt, izmantojot global $TABULASNOSAUKUMS;
}
foreach ($this->TestVars as $test){
printr($test);
}
Ērta funkcija klases instances apskatīšanai ir printr().
printr($test);
}