Официальный блог

Продолжаем погружение в проектирование и разработку. В прошлой статье мы сочинили полноценную сущность-агрегат предметной области Employee со своей собственной бизнес-логикой для описания объектов сотрудников. Теперь нужно как-то работать с ней из контроллера, сохранять в базу данных и доставать обратно. Но наш Employee не содержит ни одной строки по работе с базой данных, поэтому сам сохраняться не умеет. Что же с этим делать?

Некоторые разработчики порой недоумевают, как можно программировать на фреймворках без использования CRUD и ActiveRecord, и почему такую «лёгкую» на первый взгляд прямую работу с полями в базе данных недолюбливают тру-ООП-шники. Да и многие спрашивают, что в тестах нужно тестировать, а что не нужно. И нужно ли проверять приватные методы или нет? Разберёмся в этих вопросах.

Вебинар-скринкаст о сравнении протоколов удалённого вызова процедур RPC, доступа к объектам SOAP и архитектуры REST для реализации API для работы с сайтом. Рассмотрели написание RESTFul API для проекта на Yii2 Framework и его тестирование с использованием Codeception.

Те, кто следит за судьбой PHP и Yii, вероятно заметили в новостях Yii2, предновогоднем PHP-дайджесте на Habrahabr и в блоге RMCreative Александра Макарова о выходе новой редакции популярной книги практических рецептов Yii Development Cookbook, переписанной в этот раз на Yii2.

Вчера после окончания интенсива провели бесплатный дополнительный урок с ответами на вопросы по ООП. Поговорили ещё раз об ответственностях контроллеров, немного про MVC, View Model и фреймворки, повторили критерии выноса кода в отдельные компоненты. Личных вопросов не было, поэтому с разрешения участников выкладываю запись для всеобщего просмотра.

Как-то давно у меня спрашивали, как сделать хранение пользовательского контента в разных базах данных, а недавно этот же вопрос всплыл на форуме вновь: «Подскажите в общих чертах, как можно реализовать динамическое переключение между базами в зависимости от подключенного пользователя».

Представляю наше главное событие осени. Снова запускаю уже многим полюбившийся супер-мега-интенсив по объектно-ориентированному программированию. Что в третьем потоке будет такого эпического и чем он будет отличаться от предыдущих?

Второй мастер-класс по функциональному программированию в PHP на примере написания многопоточного парсера активных участников форума. Рассмотрели базовую реализацию многопоточности в PHP и отличия от других языков программирования.

На вебинаре о тестировании мы не уделили внимания практическому применению парадигмы Test Driven Development (TDD) и Test First в реальных проектах и написанию моков в модульных тестах. Попробуем решить сегодняшнюю задачу по практике написания тестов до кода и потренируемся в составлении модульных и функциональных тестов.

Запись мастер-класса по функциональному программированию в PHP на примере подсчёта стоимости товаров в корзине интернет-магазина. Рассмотрели путь эволюции от процедерного кода до функционального.