Sobes.tech
Назад к вопросам
Junior — Middle
95

Какие виды ограничений доступа к свойствам и методам в PHP ты знаешь?

Ответ от нейросети

sobes.tech AI

В PHP существуют три основных уровня доступа к свойствам и методам класса:

  • public — доступ открыт везде, из любого места кода.
  • protected — доступ разрешён внутри самого класса и его наследников.
  • private — доступ разрешён только внутри самого класса, вне его даже наследники не могут обратиться.

Пример:

class Example {
    public $publicProp = 'public';
    protected $protectedProp = 'protected';
    private $privateProp = 'private';

    public function showProps() {
        echo $this->publicProp . "\n";
        echo $this->protectedProp . "\n";
        echo $this->privateProp . "\n";
    }
}

class ChildExample extends Example {
    public function showProtected() {
        echo $this->protectedProp; // Доступ разрешён
        // echo $this->privateProp; // Ошибка, private недоступен
    }
}

$obj = new Example();
$obj->showProps();
// echo $obj->protectedProp; // Ошибка
// echo $obj->privateProp; // Ошибка

Эти ограничения помогают инкапсулировать данные и контролировать доступ к внутреннему состоянию объектов.