Статья
📘 Глава 10. Основы ООП в PHP
Оглавление
Ты подошёл к важному этапу: объектно-ориентированное программирование (ООП). Это основа современного PHP-кода, особенно с версий 7 и выше, включая PHP 8.5.
🔍 Что такое ООП?
ООП (Object-Oriented Programming) — подход к программированию, в котором код организован вокруг объектов, а не просто функций.
Объекты создаются из классов — как чертёж создаёт множество домов.
🔧 Объявление класса и создание объекта
class Человек {
public $имя;
public function сказатьПривет() {
echo "Привет, я " . $this->имя;
}
}
// Создание объекта
$анна = new Человек();
$анна->имя = "Анна";
$анна->сказатьПривет(); // Привет, я Анна
$this
— обращение к текущему объекту
🔐 Модификаторы доступа
-
public
— доступен везде -
private
— доступен только внутри класса -
protected
— доступен внутри класса и его потомков
class Тест {
private $секрет = "скрыто";
public function показать() {
echo $this->секрет;
}
}
🧱 Конструктор (__construct
)
Вызывается автоматически при создании объекта:
class Пользователь {
public $имя;
public function __construct($имя) {
$this->имя = $имя;
}
public function привет() {
echo "Привет, $this->имя!";
}
}
$иван = new Пользователь("Иван");
$иван->привет(); // Привет, Иван!
🧬 Наследование
class Пользователь {
public $имя;
public function кто() {
echo "Пользователь: $this->имя";
}
}
class Админ extends Пользователь {
public function кто() {
echo "Админ: $this->имя";
}
}
$админ = new Админ();
$админ->имя = "Олег";
$админ->кто(); // Админ: Олег
🧩 Полиморфизм и переопределение методов
Методы в потомке могут переопределять поведение родителя.
⚙️ Статические методы и свойства
class Настройки {
public static $версия = "1.0";
public static function показать() {
echo self::$версия;
}
}
echo Настройки::$версия; // 1.0
Настройки::показать(); // 1.0
📦 Автозагрузка классов (PSR-4, composer)
Будет подробно позже, но знай: классы можно автоматически подключать без require
.
23