Включено в курс
Чему вы научитесь
- Описывать сущности предметной области с помощью классов
- Использовать объекты для реализации программной логики
- Подключать механизм автозагрузки классов (стандарт PSR4) в composer
- Защищать состояние объектов от внешнего воздействия с помощью модификаторов доступа
- Понимать плюсы и минусы кода с классами и объектами
- Использовать исключения в своем коде
Описание
На этом курсе вы познакомитесь с объектно ориентированным программированием на PHP. Вы узнаете о классах, интерфейсах, инкапсуляции и магических методах. В итоге поймете, для чего нужны классы как абстракция данных. Знание основ объектно ориентированного программирования пригодится, чтобы понимать плюсы и минусы кода с классами и объектами. Также это поможет использовать объекты для реализации программной логики.
Теория и практика в курсе рассчитаны на тех, кто уже хорошо знаком с языком PHP. Если у вас возникнут сложности, рекомендуем пройти эти курсы:
Программа курса
-
4
Автозагрузка классов
Знакомимся с правилами организации классов в коде приложения и учимся пользоваться автозагрузкой Composer -
10
Сокрытие данных (Data Hiding)
Разбираемся, в чем отличие сокрытия от инкапсуляции -
13
Константы классов
Знакомимся с основными возможностями констант, определенных в классах -
16
Интерфейсы
Знакомимся с новой конструкцией для создания явных интерфейсов -
17
Плюсы и минусы разных способов организации абстракций
Выясняем, чем хороша и чем плоха инкапсуляциятесты
-
18
Исключения
Знакомимся с исключениями, учимся их генерировать и перехватывать -
19
Дополнительные материалы
Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса
Формат обучения
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже
Отзывы
Спасибо за урок. Здорово ложится на курс по Абстрактным типам данных. Начинает складываться понимание, как изучать код фреймворков и cms, видимо стоит начинать такое изучение как раз с интерфейсов, которые и будут в первую очередь описывать какие в проекте есть сущности и какие операции над ними можно выполнять.
Посмотрел решение учителя. А можно философский вопрос? Разве мы не должны убедиться, что объект, с которым мы сравниваем объект типа ComparableInterface, сам имеет тип ComparableInterface?
А с практической точки зрения, если мы сравниваем по id, то ComparableInterface разве не должен иметь еще и обязательный и getId()?
Спасибо, курс отличный!
Отдельное спасибо за Николая Рыжикова и Рича Хикки. Оба крутые дядьки.
Спасибо за новый курс по ООП. Первый шел очень тяжело, было много вопросов не понимания. Читала книгу, что бы его пройти. И даже после этого было много вопросов. Но этот курс, как раз для тех, кто еще ни разу не видел ооп, классы и не умеет с ними работать. Спасибо. Многие вопросы нашли свои ответы тут. А будет продолжение, что бы разобрать и поработать с инкапсуляцией, наследованием и полиморфизмом? И какие еще курсы будут обновляться?