Глосарій

Словник веб-розробника

Визначення технічних термінів з PHP, DevOps, MySQL та AI — з прикладами коду та поясненнями простою мовою.

228 термінів
47 літер
M
Match expression (PHP 8)
Match expression — PHP 8.0 альтернатива switch із суворим порівнянням (===), без fall-through і з обов'язковим покриттям всіх випадків. Повертає значення, а не виконує інструкції. Switch vs Match // switch — нестрого, fall-through, не повертає switch ($status) { case 'active': $label = 'Active'; break; case 'banned': $label = 'Banned'; break; default: $label = 'Unknown'; } // match — строго, без fall-through, повертає $label = match($status) { 'active' => 'Active', 'banned' => 'Banned', 'pending', 'unverified' => 'Waiting', // кілька умов default => 'Unknown', }; Переваги Суворе порівняння: match(0) ≠ match('foo') Якщо немає збігу і немає default — кидається UnhandledMatchError Компактніший, читабельніший код
Message Broker
Message Broker — посередник, що приймає повідомлення від продюсерів і доставляє їх консюмерам. Роз'єднує сервіси: відправник не знає про одержувача і не чекає відповіді. RabbitMQ, Kafka, Amazon SQS — популярні брокери.Exchange і Queue (RabbitMQ)Продюсер відправляє повідомлення в exchange. Exchange за правилами маршрутизує в одну або кілька queue. Консюмер читає з черги. Якщо консюмер недоступний — повідомлення чекає в черзі.Topic і Partition (Kafka)Kafka зберігає повідомлення в topics, розбитих на partitions. Повідомлення не видаляються після читання — можна перечитати. Ідеальний для event streaming і аудит-логів.Коли брокер, коли HTTPHTTP — синхронний запит з відповіддю. Брокер — асинхронна доставка з гарантіями. Брокер потрібен, коли: відправник не повинен чекати, консюмер може бути тимчасово недоступний, або одне повідомлення мають отримати кілька консюмерів.
Middleware
Middleware — проміжний обробник, який перехоплює HTTP-запит до того, як він потрапить до контролера (або відповідь — до того, як піде клієнту). Middleware утворюють ланцюжок: кожен може пропустити запит далі, змінити його або одразу повернути відповідь.Типові задачіАутентифікація та авторизація — перевірити токен до виконання діїRate limiting — обмежити кількість запитів від IPЛогування — записати деталі запиту/відповідіCORS — додати заголовки для cross-origin запитівСтиснення відповіді — gzip перед відправкоюПатерн «ланцюжок обробників»Кожен middleware реалізує один метод: отримай запит, зроби своє, передай далі. Якщо умова не виконана — поверни відповідь і перерви ланцюжок. Цей патерн незалежний від фреймворку і однаково реалізований у PHP, Python (WSGI), Node.js (Express) та Go.
Mocking (заглушки)
Mock — підробний об'єкт, що імітує поведінку реальної залежності в тестах. Замість справжнього email-сервісу, БД або зовнішнього API — mock, що повертає задані дані і дозволяє перевірити, що код поводиться правильно.Типи test doublesStub — повертає задані значення. Без перевірки викликівMock — додатково перевіряє, що певні методи були (або не були) викликаніSpy — записує виклики, але делегує до реальної реалізаціїFake — спрощена реальна реалізація (in-memory репозиторій)Dummy — об'єкт-заглушка, що передається але не використовуєтьсяКоли не мокатиМокати слід зовнішні залежності (email, S3, платіжна система), а не власний код. Якщо ви мокаєте свої ж класи — це сигнал, що архітектура потребує рефакторингу.
MVC
MVC (Model-View-Controller) — патерн архітектури, який розділяє застосунок на три шари з чіткими обов'язками. Завдяки цьому логіку, відображення і дані можна змінювати незалежно одне від одного.Три шариModel — дані та бізнес-логіка: робота з БД, валідація, обчислення. Не знає нічого про те, як дані будуть відображеніView — шаблон, що перетворює дані на HTML (або JSON). Не містить логіки — тільки відображенняController — приймає HTTP-запит, викликає потрібну модель, передає результат у view. Тонкий шар-диригентПравило «тонкого контролера»Контролер не повинен містити бізнес-логіку — лише оркестрацію. Якщо метод контролера перевищує 10–15 рядків, це сигнал перенести логіку у сервіс або модель.