Классы и объекты
15 минОбъектно-ориентированное программирование (ООП) — это способ организации кода, где данные и функции объединяются в объекты. Это как в реальном мире: у машины есть свойства (цвет, марка) и действия (ехать, тормозить).
Зачем нужно ООП?
Представьте интернет-магазин без ООП:
$product1_name = "iPhone";
$product1_price = 99990;
$product2_name = "MacBook";
$product2_price = 149990;
// ... и так для каждого товара
С ООП всё организованно:
- Класс — это чертёж/шаблон (например, "Товар")
- Объект — конкретный экземпляр по этому чертежу (iPhone, MacBook)
- Свойства — данные объекта (название, цена)
- Методы — действия объекта (показать цену, добавить в корзину)
Создание класса
Класс создаётся ключевым словом class. Имя класса принято писать с большой буквы:
Ключевые моменты:
new User()— создаёт новый объект->— оператор доступа к свойствам и методам объекта$this— внутри класса означает "этот объект"
Конструктор — инициализация объекта
Конструктор __construct() — это специальный метод, который автоматически вызывается при создании объекта. Используется для начальной настройки:
public function __construct(public string $name, public float $price) {}
Модификаторы доступа (инкапсуляция)
Инкапсуляция — это сокрытие внутренней реализации. Модификаторы определяют, кто может обращаться к свойствам и методам:
| Модификатор | Доступ | Когда использовать |
|---|---|---|
public | Везде | Для интерфейса класса |
protected | В классе и потомках | Для наследования |
private | Только в этом классе | Для внутренних данных |
Сокращённый синтаксис (PHP 8)
Материалы по теме
- Глоссарий digital-терминов Глоссарий
- Статьи блога по разработке и SEO Блог
- Практические чеклисты по внедрению Чеклисты