Objekty

Deklarácia triedy

[final] class meno_triedy [extends meno rodičovskej triedy]
{
  // telo triedy
  const meno_konštanty = hodnota_konštanty;
  [úroveň prístupu] [static] $meno_atribútu [= hodnota];
  [úroveň prístupu] [static] [final] function meno_metódy(...)
  {
    // telo metódy
  }
}

V tele triedy sú deklarované atribúty, resp. metódy triedy rovnako ako klasické premenné, resp. funkcie. Všetky atribúty a metódy (aj statické) sú deklarované v rámci zvolenej úrovne prístupu:

Úroveň prístupuPopis
privateK atribútom a metódam označeným kľúčovým slovom private (súkromné) majú prístup len metódy vlastnej triedy.
protectedK atribútom a metódam označeným kľúčovým slovom protected (chránené) majú prístup metódy vlastnej triedy a tried, ktoré sú rozšírením tejto triedy.
publicK atribútom a metódam označeným kľúčovým slovom public (verejné) je možné pristupovať z akéhokoľvek kontextu.

<?php
class Test
{
  public $verejne; // táto vlastnosť je dostupná odkiaľkoľvek
  privat $privatne; // vlastnosť prístupná len danému objektu
  privat $moje; // tiež prístupné len danému objektu
  public $meno = "";
  public $cislo;
}
?>

Špeciálne kľúčové slová

Kľúčové slovoPopis
$thisTáto pseudopremenná odkazuje na volajúci objekt. Používa sa pri prístupe k atribútom objektu. V statických metódach nie je definovaná.
parentVo vnútri triedy zastupuje identifikátor rozširovanej (rodičovskej) triedy.
selfVo vnútri triedy zastupuje aktuálny identifikátor triedy. Dostupné od PHP 5.

Vytváranie inštancií

Inštanciu triedy vytvárame pomocou operátora new (viď. kapitolu Dátové typy a operátory).

<?php
$mojTest = new Test(); v PHP 4 zadáme meno triedy bez zátvoriek $mojTest = new Test;
?>

Práca s vlastnosťami objektu

Meno vlastnosti triedy je vždy treba odkazovať cez meno objektu.

<?php
$mojTest->cislo = 123456;
$mojTest->meno = "Martin";
?>