Трек
Для программистов

ООП В PHP

Здесь вы изучите прототипы, наследование, трейты и полиморфизм типов, освоите паттерны и антипаттерны проектирования. Курсы этого трека помогут досконально разобраться в объектно-ориентированном дизайне на PHP.

Начать учиться
Картинка программы ООП В PHP
Самостоятельно,
в любое время
Обратная связь
по урокам от поддержки Хекслета
Неограниченный доступ
к пройденной теории
577 студентов
проходят трек прямо сейчас

Программа обучения

Уроки
  • Введение

  • Онтология

  • Точки на координатной плоскости

  • Семантика массивов

  • Создание абстракции

  • Интерфейсы

  • Уровневое проектирование

  • Инварианты


Чему научитесь
  • Выделять сущности предметной области и устанавливать правильные взаимоотношения между ними

  • Подбирать правильную структуру данных для хранения сущностей

  • Грамотно проектировать интерфейсы абстракций

  • Определять инварианты и следовать им

  • Правильно использовать индексированный и ассоциативный массивы

Испытания
Уроки
  • О курсе

  • Структуры

  • Классы

  • Автозагрузка классов

  • Свойства

  • Указатели

  • Сравнение объектов

  • Конструктор

  • Инкапсуляция

  • Сокрытие данных (Data Hiding)

  • Изменяемость

  • Магический метод __toString()

  • Константы классов

  • Статические свойства

  • Статические методы

  • Интерфейсы

  • Плюсы и минусы разных способов организации абстракций

  • Исключения


Чему научитесь
  • Описывать сущности предметной области с помощью классов

  • Использовать объекты для реализации программной логики

  • Подключать механизм автозагрузки классов (стандарт PSR4) в composer

  • Защищать состояние объектов от внешнего воздействия с помощью модификаторов доступа

  • Понимать плюсы и минусы кода с классами и объектами

  • Использовать исключения в своем коде

Испытания
Уроки
  • О курсе

  • Шаблоны Проектирования

  • Конфигурация

  • Изменяемая конфигурация

  • Класс stdClass

  • PHPUnit

  • DS

  • Collect

  • Объекты-Сущности, Объекты-Значения и встраиваемые объекты

  • Fluent Interface

  • Carbon

  • Symfony String

  • Пишем код правильно


Чему научитесь
  • Пользоваться популярными библиотеками для работы со строками, датами и коллекциями

  • Создавать и использовать цепочки функций (включая неизменяемый стиль)

  • Научитесь отличать классы для сущностей от классов для конфигурации

  • Сможете организовать безопасную работу с сеттерами

Испытания
Уроки
  • О курсе

  • Параметрический полиморфизм

  • Диспетчеризация по ключу (данные)

  • Диспетчеризация по ключу (функции)

  • Диспетчеризация по имени файла

  • Полиморфизм и утиная типизация

  • Null Object Pattern

  • Код, который убивает полиморфизм

  • Инверсия зависимостей

  • Полиморфизм подтипов

  • Стратегия (Паттерн)

  • Динамическая диспетчеризация

  • Фабрика (Паттерн)

  • Шаблоны проектирования (Паттерны)

  • Объектная композиция

  • Паттерн Состояние (State)

  • Управление зависимостями


Чему научитесь
  • Понимать разницу между разными видами полиморфизма и решаемые ими задачи

  • Распознавать и применять шаблоны проектирования (Стратегия, Фабрика, Состояние, Декоратор, Нулл-объект и другие)

  • Использовать различные виды диспетчеризации, чтобы уменьшать и упрощать код

  • Управлять зависимостями, внедрять их с помощью DI-контейнера

Испытания
Уроки
  • О курсе

  • Наследование

  • Модификаторы доступа

  • Позднее связывание

  • Шаблонный метод

  • Переопределение методов

  • Принцип подстановки Лисков

  • Исключения

  • Динамическая диспетчеризация

  • Абстрактные классы

  • Позднее статическое связывание

  • Композиция вместо наследования

  • Трейты


Чему научитесь
  • Грамотно выбирать между наследованием и композицией

  • Следовать принципу подстановки Лисков при построении иерархий классов

  • Уменьшать дублирование с помощью трейтов и абстрактных классов

  • Реализовывать паттерн "шаблонный метод"

  • Эффективно писать код зная как устроено ООП внутри PHP

Испытания

Создание собственной библиотеки для проверки корректности (валидации) данных – отличный способ прокачать навыки проектирования кода, в особенности, объектно-ориентированной архитектуры. Создание правильных иерархий классов, глубокая работа с $this, расширяемая архитектура, применение принципов SOLID, использование fluent-интерфейса – все это предстоит делать в проекте

Подробнее

Как проходит обучение

Курс состоит из учебных модулей с уроками и проектами
  • В каждом уроке — теория, тесты на закрепление изученного и практика прямо в браузере

  • Задания проходят автоматическую проверку тестами и линтером

Теоретический материал
Мы воссоздали реальное рабочее пространство программиста. Прочувствуйте разработку «как есть» — с установкой софта, запуском кода, чтением ошибок и консольными командами
  • Вы прямо в браузере получаете доступ к виртуальной машине, редактору кода и к консоли

  • Сразу видите обратную связь по своему решению в виде тестов и их результатов

Упражнение в IDE
Проходите уроки самостоятельно в любое удобное время
  • Урок — это теория, квиз (проверочный тест) и практика

  • Учебный материал представлен в текстовом формате, иногда встречаются короткие видео

  • Практика может быть в виде упражнений в браузере, испытаний, проектов, самостоятельной работы и домашних заданий

  • Можно задавать вопросы по теории и практике уроков команде поддержки Хекслета

Тесты

Что говорят наши студенты о курсах и проектах

Взрыв эмоций) Вчера вечером открыл упражнение, хмм, рекурсия... давненько этого не было придется наверное повозиться, повспоминать как там что... полчаса наверное отнимет... В итоге два часа тупил в монитор, не понимая как же с этой "змеёй" управиться - хвост отрежешь, голова вырастает, и наоборот. Гуглить и уж тем более пользоваться "подсказкой" принципиально не хотел. А сегодня как-то за час всё сложилось. Используя лучшие наработки курса "Деревья", используя органично переплетенные...

Большое спасибо за данный курс! Определенно один из лучших на Hexlet. Если бы можно было выделять курс в "Избранное" - этот бы курс там точно был. После прохождения ощущение, что открыли глаза на столь важные вещи, которые вроде как бы и использовались до этого мной, но их суть куда то ускользала. Теперь все по полочкам. Спасибо.

Я нашел отличительную черту hexlet от большинства других ресурсов в том, что здесь учат не тому - ЧТО такое полиморфизм, инкапсуляция и т.д, а тому - ЗАЧЕМ и КАК эти концепции применяются в реальном мире, оставляя за вами право давать этим терминам определения. Пройдя курс Полиморфизм за пару дней (не мог оторваться, как от Игры престолов), я понял об ООП больше, чем за несколько месяцев изучения и практики на других ресурсах. Браво!

Спасибо за этот курс - давно так башню не сносило:-) Очень полезные вещи узнала. Понравилась объемная практика! Обязательно - буду еще раз проходить.

Боже, паттерн Состояние самое прекрасное что я видел в своей жизни. Когда понимаешь суть работы таких "трафаретов", с которыми действительно не нужен ни один `if`, то так и хочется закричать: "**А что, так можно было??!!!1**". Пока что это для меня стоит на первом месте во всем PHP-курсе по полезности. Спасибо!

Спасибо за урок. Здорово ложится на курс по Абстрактным типам данных. Начинает складываться понимание, как изучать код фреймворков и cms, видимо стоит начинать такое изучение как раз с интерфейсов, которые и будут в первую очередь описывать какие в проекте есть сущности и какие операции над ними можно выполнять. Посмотрел решение учителя. А можно философский вопрос? Разве мы не должны убедиться, что объект, с которым мы сравниваем объект типа ComparableInterface, сам имеет тип...

Отзыв. Хороший курс, но как же, черт возьми, больно его проходить когда уже забежал вперед и знаешь насколько удобнее делать все объектами, а не перекидывать между функциями какой-то массив.

Задание огонь! Спустя 3 дня и после осознания, что "активация будильника != переход в режим bell ", увидела долгожданную надпись "status: finished → Тесты прошли!". Счастью нет придела. P.S.: В этом упражнении TDD - это наше все!

Получите доступ

К этому треку и ко всем остальным курсам Хекслета по подписке за 3 900 ₽ в месяц

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Кому подойдет обучение

Тем, кто пробовал учиться на сторонних курсах, но до сих пор испытывает сложности в самостоятельном написании кода
Тем, кто уже программирует и хочет повысить свой профессиональный уровень
Тем, кто умеет программировать хотя бы на одном любом языке

Хекслет —
это серьезная подготовка инженеров-программистов

  • Топовые IT-компании обучают своих сотрудников на Хекслете

  • Весь обучающий контент создан практикующими IT-специалистами

  • Программы, направленные на системное развитие инженерного мышления

17 000+

Студентов учатся ежемесячно

4.7+ звезды
4.7+

Рейтинг на отзовиках: Otzyvmarketing

Индекс лояльности

Нашу платформу часто рекомендуют студенты

Нам доверяют обучение своих сотрудников

Контур
Kaiten
СБЕР МАРКЕТ
Bell integrator
QIWI
Agima
Авиасейлc
Альфа Банк
Uchi.ru
Райффайзенбанк
PeterService
Simtech
Itech Group
Хотите учиться от компании?

Расскажите вашему работодателю о Хекслете

Оформите подписку за 3 900 ₽ в месяц
  • Получите доступ к этому треку и ко всем остальных курсам Хекслета

  • Учитесь сколько нужно, отменить подписку можно в любой момент

  • Задавайте вопросы по урокам — вам ответит поддержка Хекслета

  • Сохраните неограниченный доступ к пройденной теории даже после отмены подписки

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Трек — это набор курсов по определенной теме для повышения квалификации и развития инженерного мышления. Треки подходят как для разработчиков с опытом, так и для новичков в качестве задания «со звёздочкой».

Вы можете учиться в своём темпе, срок обучения не ограничен.

Мы рекомендуем выделять 5-10 часов в неделю. Так с одной стороны обучение будет достаточно интенсивным, чтобы не растягивать его надолго, а с другой — достаточно комфортным, чтобы совмещать с работой и успевать отдыхать.

Материал программы — это готовые курсы с адаптированной для новичков теорией, тестами на закрепление и большим количеством практических упражнений с автоматизированной проверкой прямо в браузере. В некоторых треках есть проект — вы создадите приложение, которое станет частью вашего портфолио и даст опыт реальной разработки.

Вы можете учиться самостоятельно или вместе с наставником, он поможет разобраться в сложных моментах.

Тогда вы можете обучаться вместе с наставником.

Каждый наставник — опытный программист, который добился успехов в профессии, а теперь делится знаниями и опытом со студентами Хекслета. Кандидаты проходят строгий отбор — наставником становится лишь каждый десятый, поэтому случайных людей у нас нет.

Наставник помогает справляться с трудностями, отвечает на вопросы и делает ревью проектов.

Мы принимаем карты Visa, MasterCard и МИР любого банка, валюта счёта тоже может быть любой.

Если решите учиться самостоятельно, оформите подписку на план «Базовый». Доступ ко всем трекам откроется сразу после оплаты.

Если нужна помощь наставника, оставьте заявку на обучение. С вами свяжется куратор, подберёт подходящего наставника и пришлёт ссылку на оплату.