Modyfikatory dostępu public, private i protected w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Modyfikatory dostępu w PHP

W programowaniu obiektowym w PHP modyfikatory dostępu określają, skąd można korzystać z pól i metod klasy. Najważniejsze modyfikatory to: public, private i protected.

public

Element oznaczony jako public jest dostępny z każdego miejsca programu: wewnątrz klasy, w klasach dziedziczących oraz z zewnątrz przez obiekt.

class Dane {
    public $a;
}

$obiekt = new Dane();
$obiekt->a = 10; // poprawne

private

Element private jest dostępny tylko wewnątrz tej samej klasy. Nie można odwołać się do niego bezpośrednio z zewnątrz ani z klasy potomnej.

class Dane {
    private $b;
}

$obiekt = new Dane();
// $obiekt->b = 10; // błąd

protected

Element protected jest dostępny wewnątrz klasy oraz w klasach dziedziczących. Nie jest dostępny bezpośrednio z zewnątrz przez obiekt.

class Dane {
    protected $c;
}

$obiekt = new Dane();
// $obiekt->c = 10; // błąd

Zastosowanie w pytaniach egzaminacyjnych

Jeśli klasa zawiera:

class Dane {
    public $a;
    private $b;
    protected $c;
}

To z zewnątrz, korzystając z obiektu tej klasy, można uzyskać dostęp tylko do pola public $a. Pola private $b i protected $c są ukryte przed bezpośrednim dostępem z zewnątrz.