Статья

📘 Глава 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.

PHP
Для ответа вы можете авторизоваться