Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Співбесіди Тестування Відео
Екосистема
Пакети Ресурси
Інше
Події Про нас

Prototype - швидке клонування

Патерн Prototype створює нові об'єкти через клонування шаблону. Це доречно, коли ініціалізація об'єкта дорога або складна.

Зручно для налаштувань, DTO або складних об'єктів із дефолтами. Клонування робить створення швидким і керованим.

Цінність Prototype з'являється, коли об'єкт має дорогу або складну ініціалізацію і створення через new небажане або повільне.

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(), інакше копія і оригінал ділитимуть ті самі вкладені посилання.

Коли НЕ варто: якщо створення об'єкта дешеве - звичайний new зрозуміліший за клонування шаблону.

Ця стаття - частина серії

Патерни проєктування

4 / 6

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Посібники 13 червня 2026
Патерни проєктування

Singleton - один екземпляр

Патерн Singleton гарантує один екземпляр класу на весь застосунок. У Laravel замість класичного Singleton зі static-властивістю та приватним конструктором використовують контейнерний singleton: app()->singleton(...). Контейнер створює об'єкт один раз і повертає той самий екземпляр на всі залежно

Вакансії за темою

Яремчук І.П., ФОП
Full-time Сьогодні

Web-програміст (Fullstack, Laravel, Vue.Js)

Яремчук І.П., ФОП Віддалено За результатами співбесіди

Потрібен Fulstack developer. Ми спеціалізуємося на розробці веб-сайтів, CRM/ERP систем та інших програмних рішень для клієнтів з України, Європи та США. Ми пропонуємо вам можливість працювати віддалено з будь-якої точки світу, в команді професіоналів з багаторічним досвідом. Ви будете відповідати за розробку та підтримку веб-додатків, участь у проектуванні архітектури, взаємодію з клієнтами та іншими членами команди. Вимоги: Досвід роботи на позиції Fullstack Developer від 3 років Практичний досвід роботи з PHP, Larave, Filament Знання JavaScript (ES6+), HTML, CSS Досвід роботи з Vue Досвід роботи з базами даних (SQL або NoSQL) Розуміння принципів роботи RESTful API Активне використання АІ в розробці Вміння працювати в команді та готовність вчитися новому Якщо ви готові приєднатися до нашої команди та прийняти виклик розробки високоякісних програмних продуктів, надсилайте свої резюме. Ми готові розглянути кандидатів без вищої освіти, головне — ваш досвід та вміння.

Хартія, 13-та БрОП НГУ
Full-time Сьогодні

Backend Developer (PHP, Laravel), розробник систем цифрової логістики

Хартія, 13-та БрОП НГУ Віддалено ₴25,000 - ₴75,000

SENIOR FULL-STACK РОЗРОБНИК СИСТЕМ ЦИФРОВОЇ ЛОГІСТИКИ Ми шукаємо Backend Developer Для нас важливіше не те, чи ти працював саме з «ідеальним» набором технологій, а те, чи вмієш ти мислити як інженер, розбиратися в задачах, брати відповідальність за результат і рости разом. Стек можна опанувати,ми допоможемо з онбордингом, контекстом і підтримкою команди. Обов’язки розробляти та покращувати backend-частину продукту створювати інтеграції між сервісами працювати з даними, бізнес-логікою та внутрішніми процесами брати участь в обговоренні рішень разом із командою продукту, дизайну та інженерії покращувати стабільність, продуктивність і **надійність сервісів занурюватися в домен і впливати на те, як продукт розвивається далі Вимоги маєш від 2 років комерційного досвіду в backend-розробці добре розумієш принципи веброзробки, роботу з базами даних, Git вмієш писати чистий, зрозумілий код і не боїшся рефакторингу можеш самостійно розібратися в задачі, поставити уточнювальні запитання й довести її до результату Буде плюсом досвід із сучасним backend-стеком (наприклад: Node.js / TypeScript, PHP / Laravel, Python, Go, Java тощо) досвід роботи з SQL/NoSQL, Docker, CI/CD, тестуванням розуміння, як будуються масштабовані та надійні системи **Надсилайте свої резюме або телефонуйте на офіційний номер 3333 для призначення співбесіди.

СУ
Full-time Вчора

Tech Lead PHP (Laravel, E-commerce)

Сузір'я, ГК Віддалено За результатами співбесіди

Ми — група компаній, що працює у сфері виробництва, дистрибуції та ритейлу, і шукаємо сильного Tech Lead PHP (Laravel) до команди розробників. Ви відіграватимете ключову роль у формуванні нашого технологічного бачення та розробці архітектури внутрішніх проєктів. Основний стек розробки: Laravel (PHP), MySQL/PostgreSQL, Nginx, Redis, Docker, RabbitMQ. Формат роботи: повна зайнятість, можливість працювати віддалено. Ми очікуємо: Досвід роботи в ролі Tech Lead/Team Lead PHP (Laravel) — не менше 2 років; Досвід роботи з PHP-фреймворком Laravel — не менше 5 років (можливий комбінований досвід, але частка Laravel має бути більшою); Розуміння та практичні навички застосування принципів ООП, патернів проєктування, DRY, SOLID тощо; Успішний досвід побудови проєктів на мікросервісній архітектурі; Знання SQL і досвід роботи з MySQL та PostgreSQL; Досвід побудови високонавантажених сервісів, проєктування та оптимізації баз даних; Досвід роботи з REST API (побудова архітектури сервісів і інтеграція зі сторонніми сервісами); Досвід роботи з Git; Знання frontend-фреймворків; Досвід роботи з E-commerce є обов’язковий ; Досвід роботи з чергами (Redis). Інфраструктура та DevOps: — Контейнеризація застосунків у Docker (multi-stage builds, docker-compose, оптимізація образів), уніфікація dev/staging/prod-середовищ. — Деплой і експлуатація на AWS: EC2, RDS (MySQL/PostgreSQL), S3, ElastiCache (Redis), ELB/ALB, CloudWatch. — Налаштування CI/CD-пайплайнів, zero-downtime деплої. — Проєктування та підтримка інфраструктури під високонавантажені e-commerce-сервіси на мікросервісній архітектурі. Основна мета ролі: Активна участь у повному циклі розробки: від проєктування (архітектури загалом, окремих модулів, баз даних, REST API) до запуску та подальшого розвитку продукту; Доопрацювання та вдосконалення поточних проєктів; Активна участь в імплементації нових продуктових рішень і розробка для них архітектури; Контроль якості коду команди, допомога в усуненні несправностей за потреби, обговорення варіантів вирішення задач; Роль не передбачає менеджменту задач команди — функція планування та контролю виконання закріплена за Project Manager. Водночас техлід бере активну участь у оцінці складності, ризиків та трудомісткості задач під час планування робіт.

Пакети за темою

Bagisto

bagisto/bagisto

Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.

27,248 v2.4.6 12 1

Lang

laravel-lang/lang

Список 126 мов для Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova, Laravel Spark та Laravel UI.

7,777 15.31.4 1

Про статтю

Категорія
Посібники
Опубліковано
10 червня 2026
Час читання
1 хв
3

Поділитись