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.