Объектно-ориентированное программирование в PHP. С чего начать и как разобраться?

объектно-ориентированное программирование в
    php. с чего начать и как разобраться?

Обзор парадигмы ООП

Возможность создавать пользовательские функции является большим шагом в сторону повторного использования кода, улучшения его восприятия и защищенности. Согласитесь, что вызов функции checkUserLogin() придаст определенный смысловой контекст коду, расположенному несколькими строчками выше или ниже. Логику выполнения функций невозможно изменить частично, так как отсутствует доступ в локальную область видимости. Всё перечисленное делает их отличными контейнерами независимой бизнес-логики.

Подходы к написанию кода и его организации не останавливаются на создании функций. PHP является мультпарадигмальным языком. Помимо функционального подхода в нем реализована возможность объектно-ориентированного программирования (сокр. ООП). Объекты – это продолжение идеи повторяемости, защищенности и улучшения восприятия.

Объектно-ориентированное программирование — это объединение данных и функций, манипулирующих ими в одном каркасе, именуемым объектом. Использование объектов в PHP, позволяет помещать сущности реального мира в программную среду. Приведем пример. Кредитная карта имеет банковский счет — это данные, которые могут быть помещены в переменную $account, а операции по снятию и добавлению денег — это функции, имеющие имена withdrawMoney() и depositMoney(). Согласитесь, что эта переменная и функции, манипулирующие ею, не имеют права на существование друг без друга.

Заметка
Объектно-ориентированное программирование является неотъемлемой частью написания современных программ на PHP, но оно требует последовательного изучения и понимания всех тонкостей. Данная статья является вводной и лишь раскрывает основную терминологию.

Основная терминология

Для дальнейшего изучения объектно-ориентированного программирования необходимо понять несколько терминов:

  • Класс — шаблон, описывающий, какими данными и поведением будут обладать реальные объекты. Класс не осязаем, и существует как трафарет для создания конкретных объектов.
  • Свойства — именуемые контейнеры для хранения данных. Имена свойств определяются на подобии обычных переменных, но существуют только в контексте класса. Свойство в ООП описывает объект реального мира. Например, класс Horse может иметь свойство $hairColor описывающее цвет шерсти.
  • Методы — функции, существующие в контексте класса. Они предназначены для манипулирования значениями свойств, а также выполнения любой другой логики, необходимой для существования объектов. Например, класс Horse может содержать метод runGallop(), что соответствует бегу галопом.
  • Объект — экземпляр класса, созданный с него как по трафарету, но имеющий собственные значения свойств. Так один объект класса Horse может иметь значение свойства $hairColor равное «Черные», а другой «Белые».

Для наглядности, мы приводим пример кода, демонстрирующий полный цикл по работе с ООП в PHP: определение класса с набором свойств и методов, создание объекта и его использование. В следующих статьях мы подробно разберем все аспекты работы с объектно-ориентированным подходом программирования. Сейчас вы можете просто скопировать код и посмотреть, как это работает.

//Определение класса "автомобиль"
class Car
{
    //Свойство определяет максимальную скорость
    public $maxSpeed;

    //Метод вывода сообщения о скорости езды
    public function driveFast()
    {
        echo 'Едем '. $this->maxSpeed .'км/ч!';
    }
}

//Создаем объект(экземпляр класса) автомобиля и
//назначаем ему свойство максимальной скорости
$myCar = new Car();
$myCar->maxSpeed = 120;

//Вызываем метод созданного объекта автомобиля
$myCar->driveFast(); //Результат: Едем 120км/ч!

Последние публикации