Null Object - поведінка за замовчуванням
Замінює null безпечним об'єктом із тим самим інтерфейсом і "порожньою" поведінкою. Прибирає перевірки на null - і де він може приховати справжню проблему.
Почніть вводити, щоб шукати по статтях, вакансіях, компаніях, проєктах, ресурсах, пакетах, подіях і користувачах.
Factory Method переносить рішення про створення конкретного об'єкта у підкласи. Базовий клас задає загальний алгоритм, а який саме об'єкт створити - вирішує нащадок.
Частина алгоритму стабільна й однакова для всіх випадків, але конкретний продукт залежить від контексту чи типу. Якщо вшити вибір прямо в базовий клас через if/switch, кожен новий тип потребуватиме правок цього класу - порушення принципу відкритості/закритості.
Базовий клас викликає абстрактний фабричний метод, не знаючи, що саме той поверне. Нащадок перевизначає метод і створює потрібний продукт. Загальний алгоритм лишається в одному місці, а розширення відбувається додаванням нового підкласу, без змін наявного коду.
interface ReportContract
{
public function render(): array;
}
abstract class ReportCreator
{
public function handle(): array
{
$report = $this->makeReport();
return $report->render();
}
abstract protected function makeReport(): ReportContract;
}
class SalesReport implements ReportContract
{
public function render(): array
{
return ['sales' => 1000];
}
}
class SalesReportCreator extends ReportCreator
{
protected function makeReport(): ReportContract
{
return new SalesReport();
}
}
Model::factory() для тестових даних.match чи конфіга.3 / 34
Замінює null безпечним об'єктом із тим самим інтерфейсом і "порожньою" поведінкою. Прибирає перевірки на null - і де він може приховати справжню проблему.
Пропускає дані через серію кроків, де кожен трансформує вхід і передає далі. Готовий Illuminate\Pipeline\Pipeline та його зв'язок із middleware.
Розробник повного стеку для хмарної платформи управління дослідженнями. Розроблення функцій на PHP (Laravel) та Vue.js, побудова REST API, оптимізація продуктивності, написання тестів. Вимоги: міцні знання PHP та Laravel, досвід з Vue.js і JavaScript, англійська Upper-Intermediate+.
Старший/Lead PHP розробник з глибокою експертизою Laravel для побудови та інтеграції систем штучного інтелекту. Спеціаліст матиме відповідати за складні backend-функції, менторство інших розробників, проектування та впровадження AI-driven automation агентів в продукт. Вимоги: 6+ років досвіду на PHP, 4+ років Laravel, практичний досвід роботи з LLM API, контейнеризацією (Docker) та хмарними платформами, мова English Upper Intermediate+.
Middle Magento Back-End розробник займатиметься розробкою та підтримкою веб-магазинів на платформі Magento 2, їх оптимізацією. Вимагається практичний досвід з Magento 2 не менше 2 років, знання PHP (OOP), MySQL, Javascript, GIT. Бажані: розробка Magento Extensions, KnockoutJS, RequireJS, досвід з MVC-фреймворками та Docker.
Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.