Sobes.tech
Back to questions
Junior — Middle
88

Можете объяснить принцип инкапсуляции в PHP и как он реализуется в объекто-ориентированном программировании?

Answer from AI

sobes.tech AI

Инкапсуляция в PHP — это механизм объектно-ориентированного программирования, который позволяет скрыть внутренние детали реализации объекта и предоставлять доступ к ним только через определённые методы.

В PHP инкапсуляция реализуется с помощью модификаторов доступа:

  • public — доступ открыт всем.
  • protected — доступ только внутри класса и его наследников.
  • private — доступ только внутри самого класса.

Пример:

class User {
    private $password; // скрытое свойство

    public function setPassword($pass) {
        // можно добавить проверку или хеширование
        $this->password = password_hash($pass, PASSWORD_DEFAULT);
    }

    public function verifyPassword($pass) {
        return password_verify($pass, $this->password);
    }
}

$user = new User();
$user->setPassword('secret');
var_dump($user->verifyPassword('secret')); // true

Таким образом, инкапсуляция помогает защитить данные объекта от прямого доступа и изменения, обеспечивая контроль через методы класса.