Strategy - вибір поведінки
Виносить взаємозамінні алгоритми в окремі класи за спільним інтерфейсом. Тарифи, доставка, знижки - без каскадів if, з вибором через контейнер.
Почніть вводити, щоб шукати по статтях, вакансіях, компаніях, проєктах, ресурсах, пакетах, подіях і користувачах.
Prototype створює нові об'єкти через клонування готового шаблону замість побудови з нуля.
Інколи ініціалізація об'єкта дорога або складна: підтягування конфігів, локалі, дефолтів, важкі обчислення в конструкторі. Створювати кожен екземпляр через new з повним проходом ініціалізації - повільно й надлишково, коли потрібен майже такий самий об'єкт.
Один раз будуємо "еталонний" екземпляр, а далі копіюємо його через clone і донастроюємо лише те, що відрізняється. Клонування пропускає дорогу ініціалізацію.
class InvoiceTemplate
{
public function __construct(
public string $currency,
public string $locale,
) {
// expensive initialization, defaults, locale config
}
public function copy(): self
{
return clone $this;
}
}
$template = new InvoiceTemplate('USD', 'en');
$invoice = $template->copy();
$invoice->currency = 'EUR';
Зверніть увагу на clone: PHP за замовчуванням робить поверхневе (shallow) копіювання. Якщо об'єкт містить вкладені об'єкти, їх треба клонувати окремо у магічному методі __clone(), інакше копія і оригінал ділитимуть ті самі вкладені посилання.
__clone().new зрозуміліший за клонування шаблону.4 / 21
Виносить взаємозамінні алгоритми в окремі класи за спільним інтерфейсом. Тарифи, доставка, знижки - без каскадів if, з вибором через контейнер.
Змінює поведінку об'єкта залежно від стану, прибираючи каскади if. Замовлення, підписки, оплати та пакет spatie/laravel-model-states.
Middle Full Stack розробник для платформи e-commerce на мікросервісах. 70% PHP (Laravel/Symfony, REST APIs, MySQL/PostgreSQL, Redis), 30% React та Blade шаблони. Потрібно 3+ років досвіду з PHP 8.x, Docker, Git, готовність працювати з AI-інструментами (Claude Code, Cursor, Copilot). Можливість розвитку в AI-інженерингу на production-фічах.
Розробка та підтримка кастомної CRM-системи для доставки з використанням Laravel 12, Filament 5 та Livewire. Спеціаліст займатиметься проектуванням бази даних, розробкою модулів прийому/обробки замовлень, інтеграцією через REST API та оптимізацією. Вимагається глибоке розуміння Laravel, Filament та PostgreSQL, досвід з Livewire та SQL-оптимізацією. Важливі автономність і відповідальність.
Розробник PHP/Laravel для фінтех-проекту на мікросервісній архітектурі. Відповідатиме за підтримку та покращення кодової бази, оптимізацію продуктивності, роботу з MySQL, Redis, черг. Потрібні 2+ роки комерційної розробки, 1+ років PHP (Laravel), розуміння OOP та SOLID, мінімальні знання HTML/CSS/JS.
Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.