OOP v PHP: Objektové konstanty
Uvnitř třídy je možné definovat objektovou konstantu. Odlišnost od vlastnosti třídy spočívá v tom, že se hodnota konstanty nikdy nemění, neuvádí se znakem $ a neváže se k instanci, ale k příslušné třídě.
Objektové konstanty se uvádějí klíčovám slovem const. Pro spojení s konstantou použijeme fráze self::, respektive parent::.
Příklad demonstruje vytvoření konstanty konstanta a způsob jejího vypsání v třídě.
<?php
class Trida{
const konstanta = 'Hodnota konstanty';
public function VypisKonstantu(){
echo self::konstanta;
}
}
//1
echo Trida::konstanta;
//2
$class = new Trida();
$class->VypisKonstantu();
class NovaTrida extends trida{
public function VypisOpet(){
echo parent::konstanta;
}
}
//3
echo NovaTrida::konstanta;
//4
$class = new NovaTrida();
$class->VypisKonstantu();
//5
$class->VypisOpet();
?>
První poznámka (//1) ukazuje způsob vypsání hodnoty konstanty mimo třídu. Není možné použít syntaxi $class->konstanta, příklad by skončil chybou. Druhá poznámka ukazuje volání metody VypisKonstantu(), která rovněž konstantu vypíše. Třetí poznámka ukazuje vypsání konstanty, kterou zdědila třída NovaTrida. Čtvrtá poznámka volá zděděnou metodu a poslední, pátá poznámka, ukazuje výpis nové metody, která obsahuje zděděnou konstantu.
Pozn. red.: Zdůrazňujeme, že tento text se týká PHP 5.







