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
Таким образом, инкапсуляция помогает защитить данные объекта от прямого доступа и изменения, обеспечивая контроль через методы класса.