Static i stałe

Właściwości statyczne są to właściwości nadawane dla całej klasy, nie dla poszczególnych obiektów.

Właściwość statyczną tworzymy przy pomocy modyfikatra static

Jako że właściwość statyczna dana jest dla klasy nie dla obiektu, chcą ją wywołać w metodzie klasy nie możemy posłużyć się $this, używamy modyfikatora self::

Chcąc wywołać właściwość poza klasą używamy modyfikatora nazwaKlasy::


<?php
class Licznik{
    public static  $ilosc = 0;
    public function __construct(){
        self::$ilosc++;
    }

}
echo '$ilosc ='.Licznik::$ilosc.'<br />';
$pierwsza = new Licznkik;
$druga = new Licznik;
$trzecia = new Licznik;
echo '$ilosc = '.Licznik::$ilosc;
?>

Metody statyczne

Metody statyczne są to metody nadawane dla całej klasy, nie dla poszczególnych obiektów.

Metodę taką tworzymy przy pomocy modyfikatra static

Metodę taką możemy wywołać choć nie istnieje żaden obiekt klasy

W ciele klasy wywołujemy ją używając modyfikatora self::

Chcąc wywołać metodę statyczbą poza klasą używamy modyfikatora nazwaKlasy::


<?php
class Licznik{
    private static  $ilosc = 0;
    public static function ile(){
        echo 'Jest stworznych'.self::$ilosc.' 
        obiektów klasy licznik';
    }
    public function __construct(){
        self::$ilosc++;
    }

}
Licznik::ile();
$pierwsza = new Licznkik;
$druga = new Licznkik;
$trzecia = new Licznik;
Licznik::ile();
?>

Stałe

Stała jest to właściwość klasy tylko do odczytu. Oznacza to że jej wartość deklarujemy już w definicji klasy, wartość nie może być modyfikowana.

Deklarujemy je używając modyfikatora const. Stałe zawszę są one dostępne public

Chcą wywołać stałą w metodzie klasy używamy modyfikatora self::

Chcąc wywołać stałą poza klasą używamy modyfikatora nazwaKlasy::