Завантаження публікації
ОГОЛОШЕННЯ

Словник веброзробника: терміни з PHP та Laravel, без яких важко рухатися швидко


Максим Третяк
Максим Третяк
Газета Дейком | 27.12.2025, 17:45 GMT+3; 10:45 GMT-4

Пояснюємо простими словами ключові поняття з вебпрограмування: від HTTP і SQL до MVC, Git, Eloquent, Policies та черг, щоб ви розуміли код і не губилися в документації.

У веб програмуванні прогрес зупиняється не через «складний код», а через нерозуміння мови професії. Терміни — це скорочення для цілих концепцій, і якщо ви їх плутаєте, ви або робите помилки, або витрачаєте години на те, що мало б займати хвилини. Словник потрібен, щоб розмовляти з командою, читати документацію і правильно ставити питання.

У PHP та Laravel більшість проблем виникає на стику понять: запит і відповідь, база і модель, доступи і політики, фонова обробка і черги. Коли ви розумієте ці зв’язки, ви починаєте бачити систему, а не набір файлів. Це прямо впливає на швидкість розробки, якість правок і безпеку продукту.

Цей матеріал зібрав терміни з двох попередніх статей і пояснює їх «навіщо». Ваше завдання не вивчити визначення напам’ять, а почати впізнавати ці концепти в коді, логах та задачах. Тоді кожен новий модуль і кожне рев’ю стане зрозумілішим, а помилок буде менше.

Нижче — значення та короткий опис, який дає практичний контекст. Формулювання спеціально зроблені «робочими», щоб їх можна було застосувати на проєкті, а не лише повторити на співбесіді. Якщо ви освоїте цей список, вам буде легше вчитись далі і переходити до реальних фіч.

HTTP — протокол спілкування браузера або клієнта із сервером; визначає, як виглядає запит і як сервер повертає відповідь. Request/Response — пара «запит/відповідь», з якої складається будь-яка взаємодія у вебі. Status codes — коди відповіді (200, 404, 500 тощо), що показують результат операції. Middleware — проміжний шар, який перевіряє або модифікує запит до того, як він потрапить у контролер. CSRF — захист від підроблених запитів із чужого сайту, критичний для форм. Session — дані користувача між запитами, наприклад авторизація чи кошик.

Route / маршрути — правила, які визначають, який URL веде в який код. Named routes — імена маршрутів, щоб посилання не ламались при зміні URL. Controller — клас, що приймає запит і викликає потрібну логіку; має бути «тонким», без важкої бізнес-логіки. DI (Dependency Injection) — передача залежностей у конструктор/метод, щоб код був тестованим і керованим. Resource controller — стандартний набір методів для CRUD, який прискорює старт.

Blade — шаблонізатор Laravel для формування HTML; дає layout, sections і компоненти. Layout/sections — базовий каркас сторінок і вставки контенту в потрібні місця. Components/partials — повторно використовувані шматки інтерфейсу, щоб не копіювати однакові блоки. Validation — перевірка вхідних даних перед записом або дією. FormRequest — окремий клас для правил валідації та авторизації запиту. old()/errors — механіка збереження введених даних і показу помилок у формах.

SQL — мова запитів до бази даних; потрібна навіть при Eloquent, щоб розуміти, що реально виконується. SELECT/JOIN — вибірка даних і об’єднання таблиць для складних списків. Index/індекс — прискорює пошук і фільтрацію, але вимагає правильного проектування. Transaction/транзакція — гарантує цілісність, коли змінюються кілька таблиць. Міграції — керування схемою бази даних через код, щоб структура була контрольована і повторювана.

Eloquent — ORM Laravel, що дозволяє працювати з таблицями як з об’єктами. Model — представлення таблиці, де задаються правила роботи з даними. fillable/guarded — контроль масового заповнення полів, важливий для безпеки. casts — автоматичне приведення типів (дата, масив, boolean) для коректної логіки. Accessors/mutators — правила читання й запису атрибутів, щоб нормалізувати дані. Relations — зв’язки між моделями (belongsTo, hasMany, belongsToMany). Eager loading — завчасне завантаження зв’язків, щоб уникати N+1.

N+1 — проблема, коли замість одного запиту робиться багато дрібних запитів по одному на кожен запис; вбиває продуктивність. Pagination — розбиття списку на сторінки для швидкості та UX. Filters — умови відбору, зазвичай через query string, які повинні бути стабільні й передбачувані. Service layer — шар, де живе бізнес-логіка, щоб контролери були простими. DTO/Value object — об’єкт для перенесення та нормалізації даних між шарами, щоб не тягнути «сирі» масиви.

Git — система контролю версій; дозволяє працювати в команді, відкотити помилки і вести історію правок. Branch — окрема гілка змін під задачу. PR (Pull Request) — запит на злиття змін, точка рев’ю і контролю якості. Code review — перевірка коду іншими, щоб ловити ризики до продакшену. Merge — злиття гілки в основну після перевірки.

REST API — стиль побудови API, де ресурси доступні через URL і методи HTTP, а відповіді часто в JSON. JSON — формат передачі даних між клієнтом і сервером. MVC — патерн, що розділяє модель, контролер і подання, щоб код був структурним і підтримуваним. Policy/Gates — механізми авторизації в Laravel: хто має право на дію з ресурсом. Permissions middleware — перевірка прав доступу на рівні маршруту або контролера. Logging — запис подій у логи для діагностики і аудиту.

Queue/черги — фонова обробка задач, щоб не блокувати запит користувача. Job — одиниця роботи в черзі, наприклад ресайз зображення чи відправка листа. Worker — процес, який виконує jobs; має retries і timeouts. Failed jobs — задачі, що впали і потребують розбору або повтору. Scheduler — планувальник задач за часом, наприклад раз на годину або щодня. Cache — збереження готових результатів (дані/HTML/запити) для прискорення, з ключами і TTL. TTL — час життя кешу, після якого дані потрібно оновлювати.

У веброзробці терміни — це не “розумні слова”, а короткі назви для практичних рішень. Якщо ви їх не розумієте, ви не розумієте вимоги, не бачите ризиків і витрачаєте час на хаотичні спроби. Знання термінів напряму економить години під час дебагу, рев’ю та інтеграцій.

У Laravel це особливо помітно: фреймворк прискорює, але карає за поверхневість. Ви або розумієте, що таке middleware, валідація, транзакції, черги й політики доступу, або “збираєте” систему з випадкових шматків, яка ламається від першого нетипового кейсу.

Цей словник потрібен, щоб ви могли будувати навчання правильно: читати документацію, задавати точні питання й робити правки без руйнування існуючих обмежень. Це також база для комунікації в команді: однакові терміни — менше непорозумінь і менше багів.

Нижче подано повний розгорнутий список тлумачень, які прямо покривають поняття з двох статей. Формат “термін — значення” зроблений так, щоб його можна було використовувати як шпаргалку в роботі.

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

Веброзробка — ширше поняття, що включає вебпрограмування, дизайн інтерфейсу, роботу з інфраструктурою, тестування, безпеку й підтримку продукту.

Вебзастосунок — програма, доступна через браузер, де логіка може бути розділена між клієнтом і сервером (наприклад, адмінка, CRM, медіаплатформа).

Фронтенд — частина продукту, яку бачить користувач у браузері: інтерфейс, взаємодія, візуальні компоненти, клієнтська логіка.

Бекенд — серверна частина: бізнес-логіка, доступи, робота з базою даних, інтеграції, черги, кеш, формування відповідей.

HTML — мова розмітки, що описує структуру сторінки (заголовки, блоки, форми, посилання). Це “скелет” інтерфейсу.

CSS — стилі, що відповідають за вигляд і адаптивність інтерфейсу (сітки, відступи, шрифти, кольори, медіа-запити).

JavaScript — мова, що додає інтерактивність у браузері: події, динамічний контент, запити до API, валідація форм на клієнті.

PHP — серверна мова програмування, яка широко використовується для вебсайтів і систем керування контентом; сильна в типових бізнес- та медіасценаріях.

Laravel — PHP-фреймворк, який дає структуру, інструменти й готові механізми для типових задач: маршрути, валідація, ORM, авторизація, черги, кеш, тести.

Фреймворк — набір правил і бібліотек, який задає каркас проєкту та прискорює розробку, але вимагає дисципліни й розуміння стандартів.

Проєкт (application) — кодова база з налаштуваннями, залежностями, структурами даних та процесами деплою, яка працює як продукт або сервіс.

Локальне середовище — ваш комп’ютер/віртуальне середовище, де ви запускаєте проєкт для розробки без впливу на продакшн.

Продакшн (production) — бойове середовище, де працюють реальні користувачі. Там помилки мають ціну: гроші, репутація, ризик даних.

Dev-режим — режим розробки зі спрощеннями (детальні помилки, швидке перезавантаження), який не можна плутати з продакшном.

Docker — контейнеризація, що дозволяє запускати однакове середовище в різних розробників і на сервері, мінімізуючи “в мене працює”.

Laravel Sail — офіційна Docker-обгортка для Laravel, яка спрощує запуск локального середовища стандартними командами.

.env — файл змінних середовища: доступи до БД, ключі, режими роботи, налаштування сервісів. Це “пульт керування” конфігом, але не місце для секретів у репозиторії.

storage:link — команда, що створює посилання на папку з файлами, щоб завантажені медіа були доступні з вебу через правильний шлях.

Логи (logs) — записи подій і помилок, які дозволяють відтворювати інциденти, бачити причини збоїв та контролювати поведінку системи.

Git — система контролю версій: фіксує історію змін, дозволяє відкотити помилки, працювати командою й робити рев’ю.

Репозиторій — сховище коду з історією Git (локально й на сервісах типу GitHub/GitLab).

Гілка (branch) — окремий “коридор” змін під задачу, щоб не ламати основну гілку.

PR (Pull Request) — запит на злиття гілки з основною після перегляду. Це основна точка контролю якості.

Рев’ю (code review) — перевірка коду іншими: знаходить ризики, підсилює стандарти, зменшує кількість багів у продакшні.

Мердж (merge) — злиття гілки після рев’ю; зазвичай вимагає проходження тестів і перевірок.

HTTP — протокол, яким клієнт (браузер) спілкується із сервером: як формуються запити й відповіді.

Request (запит) — повідомлення від клієнта до сервера: URL, метод, заголовки, параметри, тіло запиту.

Response (відповідь) — результат сервера: статус, заголовки, тіло (HTML/JSON/файл).

HTTP-методи — способи дії: GET (отримати), POST (створити/відправити), PUT/PATCH (оновити), DELETE (видалити).

Статус-коди — числові коди результату (200 успіх, 302 редирект, 403 заборона, 404 не знайдено, 422 помилка валідації, 500 помилка сервера).

Headers (заголовки) — метадані запиту/відповіді: тип контенту, кешування, авторизація, мова, токени.

Cookies — дані, які браузер зберігає і надсилає серверу; часто використовується для сесій або налаштувань.

Session (сесія) — механізм збереження стану між запитами (наприклад, хто ви після логіну). У вебі без сесій все було б “одноразовим”.

Middleware — проміжний шар, який запускається до/після контролера: перевірка прав, логування, анти-бот, локаль, CSRF тощо.

CSRF — атака, коли сторонній сайт змушує браузер користувача виконати дію на вашому сайті. Захист у Laravel базується на CSRF-токенах.

Routing (маршрутизація) — система правил “URL → код”, яка визначає, який контролер/метод викликається.

web/api routes — поділ маршрутів для HTML-сайту (web) і програмного інтерфейсу (api), з різними middleware та правилами.

Групи маршрутів — об’єднання маршрутів зі спільним префіксом, middleware і неймінгом для порядку та масштабу.

Префікс — спільна частина URL (наприклад /admin), яка задає область сайту.

Named routes — імена маршрутів, що дозволяють генерувати посилання без “жорстких” URL у коді.

Controller — клас, який приймає запит і координує дію: викликає сервіси, формує відповідь, але не повинен бути “смітником” логіки.

Resource controller — стандартний CRUD-набір методів (index/create/store/show/edit/update/destroy) для типових сутностей.

Single action controller — контролер з одним методом, зручний для невеликих дій і чистої архітектури.

DI (Dependency Injection) — підхід, коли залежності передаються в конструктор/метод, а не створюються всередині; робить код тестованим і керованим.

Service layer (сервісний шар) — місце, де живе бізнес-логіка: створення, оновлення, перевірки, транзакції. Це зменшує ризик “розмазування” логіки по контролерах і шаблонах.

Бізнес-логіка — правила продукту: що дозволено, як рахується, які статуси змінюються, як створюються зв’язки й записи активності.

Blade — шаблонізатор Laravel для HTML: дозволяє збирати сторінки з компонентів і макетів, уникати дублювання.

Layout — базовий каркас сторінки (шапка, футер, контейнер), в який “вставляється” контент.

Sections — зони в layout, куди підставляється контент конкретної сторінки.

Components — повторно використовувані блоки інтерфейсу з параметрами (кнопки, картки, таблиці).

Partials — прості “вставки” шаблонів, які підключаються для повторного використання.

Форми (forms) — інструмент збору даних користувача. У вебі більшість створення/редагування проходить через форми.

Validation (валідація) — перевірка вхідних даних перед дією або записом, щоб не впустити сміття, небезпечні значення чи поламані формати.

FormRequest — клас Laravel, який інкапсулює правила валідації й інколи перевірку авторизації запиту.

old() — механізм повернення введених даних у форму після помилки, щоб користувач не вводив усе заново.

errors — об’єкт з помилками валідації для відображення повідомлень біля полів.

База даних — сховище структурованої інформації (статті, користувачі, права, медіа, активність).

Таблиця — структура в БД, де зберігаються записи одного типу (наприклад users, posts).

Схема (schema) — опис структури БД: таблиці, поля, типи, індекси, зв’язки.

SQL — мова запитів до БД. Навіть із ORM треба розуміти SQL, щоб бачити реальну вартість запитів і помилки моделі даних.

SELECT — запит на вибірку даних.

JOIN — об’єднання таблиць для отримання пов’язаних даних одним запитом.

WHERE — умови відбору записів.

Індекс (index) — структура, яка прискорює пошук і фільтри, але коштує місця й може уповільнювати записи.

Транзакція (transaction) — гарантія “або все, або нічого” при кількох змінах; рятує від частково записаних даних і розсинхрону.

Міграції (migrations) — керування схемою БД через код, щоб структура була відтворюваною і контрольованою.

Foreign key — зовнішній ключ, який фіксує зв’язок між таблицями й підсилює цілісність даних.

Nullable — поле, яке може бути порожнім (NULL). Це має бути усвідомленим рішенням, а не випадковістю.

Default — значення за замовчуванням, яке ставиться, якщо поле не передали.

Eloquent — ORM Laravel: спосіб працювати з БД через моделі й зв’язки, але під капотом все одно SQL.

Model — клас, що представляє таблицю й правила роботи з нею (масове заповнення, типи, зв’язки).

fillable — список полів, які можна масово заповнювати; захищає від небезпечного “заливання” зайвих полів.

guarded — поля, які заборонені для масового заповнення; альтернативний стиль контролю.

casts — автоматичне приведення типів атрибутів (boolean, array, datetime), щоб уникати помилок логіки.

Accessor — перетворення значення під час читання атрибуту (наприклад, форматування).

Mutator — перетворення під час запису (наприклад, нормалізація рядків або серіалізація).

Relations (зв’язки) — опис, як моделі пов’язані між собою.

belongsTo — “цей запис належить іншому” (стаття належить автору).

hasMany — “в одного багато” (автор має багато статей).

belongsToMany — зв’язок багато-до-багатьох через pivot-таблицю (стаття має багато тегів і тег має багато статей).

Eager loading — завчасне завантаження зв’язків одним/кількома оптимізованими запитами, щоб уникнути лавини запитів.

N+1 — антипатерн, коли замість одного запиту ви робите N додаткових для кожного запису, і система “падає” на списках.

Pagination — розбиття результатів на сторінки; зменшує навантаження й покращує UX.

Query string — параметри в URL (наприклад ?date=...), які зручно використовувати для фільтрів у адмінці.

Фільтри — умови відбору даних за параметрами (дата, користувач, статус). Важливо робити їх стабільними, не ламаючи існуючу логіку.

Оптимізація запитів — набір дій для прискорення БД: індекси, eager loading, зменшення полів, правильні умови.

EXPLAIN — команда/інструмент для аналізу плану виконання SQL-запиту: чи використовується індекс, яка вартість.

Архітектура — принципи структурування коду, щоб він був зрозумілим, розширюваним і безпечним.

MVC — патерн “Model–View–Controller”, який розділяє дані, відображення й координацію запитів, зменшуючи хаос у коді.

Стандарти коду — узгоджені правила: де що лежить, як називається, як оформлюється логіка. Без цього команда гальмує.

DTO — об’єкт перенесення даних між шарами (контролер → сервіс), щоб не таскати “сирі” масиви й не роздувати сигнатури методів.

Value Object — об’єкт-значення з правилами валідності (наприклад, Email, Money, DateRange). Зменшує помилки на рівні типів і правил.

Нормалізація даних — приведення введених значень до очікуваного формату перед записом (пробіли, регістр, типи, структури).

Логування (logging) — запис важливих подій для діагностики: що сталося, де, з ким, з якими параметрами.

Рівні логів — градація важливості (debug/info/warning/error/critical), щоб відділяти шум від інцидентів.

Correlation ID — ідентифікатор, що зв’язує події одного запиту в різних логах/сервісах; корисний при складних інцидентах.

Авторизація — визначення, чи має користувач право виконати дію.

Аутентифікація — визначення, хто користувач (логін). Часто плутають з авторизацією, але це різні речі.

Ролі — групи прав (адмін, редактор, автор), які спрощують керування доступом.

Permissions — конкретні дозволи на дії (наприклад, news.update). Саме вони зазвичай перевіряються в middleware/policies.

Policy — клас, який описує правила доступу до конкретного ресурсу (хто може редагувати цю статтю).

Gate — простіший механізм перевірок для дій, не прив’язаних до конкретної моделі.

Permissions middleware — middleware, який блокує доступ, якщо немає потрібного permission.

REST API — стиль побудови API, де ресурси доступні через URL і HTTP-методи, а відповіді повертаються у стандартизованому форматі.

JSON — формат передачі даних (ключ–значення), часто використовується в API між фронтендом і бекендом.

Upload pipeline — послідовність обробки файлу: прийняти → перевірити → зберегти → видати URL → зафіксувати в БД.

Storage — абстракція Laravel для файлових сховищ (локально, S3 тощо), щоб працювати однаково в різних середовищах.

Валідація файлів — перевірка типу/розміру/розширення, щоб не отримати вірус, “бомбу” або сміття.

Безпечні імена файлів — генерація нейтральних імен без спецсимволів, щоб уникати конфліктів і уразливостей.

Image resize — зміна розміру зображень для оптимізації швидкості та стандартизації.

FFMpeg — інструмент для обробки відео/аудіо (конвертація, прев’ю, нарізка), часто виконується асинхронно через черги.

Черги (Queue) — механізм відкладеного виконання задач, щоб не блокувати користувача і не “вбивати” запит.

Job — одиниця роботи в черзі (наприклад, згенерувати прев’ю, надіслати повідомлення).

Worker — процес, який забирає jobs з черги й виконує їх.

Retries — повторні спроби виконання job у разі тимчасових помилок.

Timeouts — ліміти часу виконання job, щоб система не зависала на “вічних” задачах.

Failed jobs — jobs, які провалилися й потребують аналізу або ручного повтору.

Scheduler — планувальник періодичних задач (щогодини/щодня): чистка, синхронізація, перевірки.

Health-checks — перевірки життєздатності системи (черги, БД, кеш, критичні сервіси), щоб ловити проблеми раніше.

Notifications — повідомлення користувачам/адмінам (email, внутрішні нотифікації), часто через черги.

Activity log — журнал активності: хто що змінив і коли. Це аудит і контроль, особливо в адмінках.

Кеш (Cache) — збереження готових результатів, щоб не рахувати і не запитувати БД повторно.

Cache key — ключ, за яким зберігається кешований результат. Погані ключі дають колізії або “не той” кеш.

Інвалідація кешу — правила, коли кеш треба скидати, щоб не показувати застарілі дані.

TTL — час життя кешу. Занадто довгий TTL дає застарілі дані, занадто короткий — не дає виграшу.

Профілювання — вимірювання, де витрачається час: запити, рендер, виклики сервісів. Це основа оптимізації, а не здогадки.

Offset pagination — пагінація зі зміщенням (page=10), проста, але повільніша на великих таблицях.

Cursor pagination — пагінація по “курсору” (останній id/дата), зазвичай стабільніша і швидша на великих обсягах.

Рефакторинг — зміна структури коду без зміни поведінки; робиться для читабельності, тестованості й зменшення техборгу.

Trait — механізм PHP для повторного використання коду між класами; корисний, але легко перетворюється на хаос, якщо ним зловживати.

“Тонкий контролер” — принцип: контролер координує, а не містить бізнес-логіку.

“Товстий сервіс” — принцип: основні правила і операції живуть у сервісі, де їх легше тестувати і підтримувати.

Тестування — перевірка, що система працює як очікується, і що правки не ламають критичні сценарії.

Feature tests — тести рівня “через HTTP”: запит → відповідь → перевірка статусів, доступів, результатів. Це дуже близько до реального використання.

Unit tests — тести окремих класів/функцій (наприклад, сервісу чи value object) без повного веб-циклу.

Happy path — “щасливий сценарій”, коли все йде правильно. Його тестують першим, але ним не можна обмежуватись.

Документація — короткий опис “як працює” і “як підтримувати”. Рятує час новим людям і вам самим через кілька місяців.

Висновок: якщо ви хочете швидко рости у PHP та Laravel, цей словник треба не завчити, а “прив’язати” до практики. Кожен термін тут відповідає за конкретні ризики: доступи, дані, продуктивність, підтримку й безпеку. У наступних матеріалах правильно робити так: брати один блок термінів і одразу показувати їх у вашій фічі, щоб знання не залишались теорією.


Максим Третяк — Кореспондент, який спеціалізується на суспільно важливих темах, пише про політику, фінансові ринки та економіку. Він проживає та працює в Україні.

Цей матеріал є частиною розгорнутої теми: Web-програмування, яка охоплює численні цікаві аспекти цієї події. Газета «Дейком» ретельно відстежує події, проводячи перевірку джерел та інформації, щоб забезпечити нашим читачам найбільш точне та актуальне інформування.

Цей матеріал опубліковано 27.12.2025 року о 17:45 GMT+3 Київ; 10:45 GMT-4 Вашингтон, розділ: Освіта, із заголовком: "Словник веброзробника: терміни з PHP та Laravel, без яких важко рухатися швидко". Якщо в публікації з'являться зміни, про це буде зазначено та описано у кінці публікації.

Читайте щоденну газету та загальну стрічку новин газети Дейком, яка поєднує багато цікавого в понад 40 розділах з усіх куточків світу.


Save
ОГОЛОШЕННЯ

Новини, які можуть Вас зацікавити:

Штатні та позаштатні журналісти газети «Дейком» щодня готують сотні публікацій, щоб читачі отримували найоперативнішу, перевірену й глибоку інформацію. Ми працюємо для тих, хто хоче розуміти суть подій, бачити широку картину та бути на крок попереду.

Останні новини

Вибір редакції