В программировании существует множество разных подходов к организации кода. Например знакомый со школьной скамьи или университета процедурный стиль, когда программа описывается серией последовательных инструкций: «сделай 1, сделай 2, сделай 3».
step1($data);
step2($data);
step3($data);
Этот стиль программирования прост в освоении и долгие годы был основным в программировании в C, Pascal и других языках.
Однако в современном PHP и Laravel обычно применяется объектно-ориентированный подход. В котором мы создаём классы, инициируем их и используем методы, чтобы управлять поведением объектов. ООП основывается на идее, что данные и поведение
должны быть объединены в единый «живой» объект. Например, представьте класс App
:
$app = new App();
$app->start();
В этом случае мы не указываем пошагово, что необходимо делать, а поручаем объекту выполнить всю необходимую инициализацию и запуск (инкапсуляция). Такой подход позволяет скрыть детали реализации и предоставляет лишь интерфейс для взаимодействия с объектом.
Но существует чертовски много кода и практик на ООП языках, который является процедурным по своей конструкции. Поэтому мы разберем несколько примеров.