Перейти до основного вмісту

Laravel

Laravel - безкоштовний вебфреймворк із відкритим кодом, призначений для розробки з використанням архітектурної моделі MVC (англ. Model View Controller - модель-представлення-контролер). Laravel випущено під ліцензією MIT.

Ключові особливості, що лежать в основі архітектури Laravel:

  • Пакети (packages) - дають змогу створювати й під'єднувати модулі у форматі Composer до додатка на Laravel. Багато додаткових можливостей уже доступні у вигляді таких модулів.
  • Eloquent ORM - реалізація шаблону проєктування ActiveRecord на PHP. Дозволяє строго визначити відносини між об'єктами бази даних. Стандартний для Laravel будівельник запитів Fluent підтримується ядром Eloquent.
  • Логіка застосунку - частина розроблюваного застосунку, оголошена або за допомогою контролерів, або маршрутів (функцій-замикань). Синтаксис оголошень схожий на синтаксис, який використовується в каркасі Sinatra.
  • Зворотна маршрутизація пов'язує між собою генеровані додатком посилання і маршрути, дозволяючи змінювати останні з автоматичним оновленням пов'язаних посилань. При створенні посилань за допомогою іменованих маршрутів Laravel автоматично генерує кінцеві URL.
  • REST-контролери - додатковий шар для поділу логіки обробки GET- і POST-запитів HTTP.
  • Автозавантаження класів - механізм автоматичного завантаження класів PHP без необхідності підключати файли їхніх визначень в include. Завантаження на вимогу запобігає завантаженню непотрібних компонентів; завантажуються тільки ті з них, які дійсно використовуються.
  • Укладачі подань (view composers) - блоки коду, які виконуються під час генерації подання (шаблону).
  • Інверсія керування (Inversion of Control) - дає змогу отримувати екземпляри об'єктів за принципом зворотного керування. Також може використовуватися для створення та отримання об'єктів-одинаків (англ. singleton).
  • Міграції - система керування версіями для баз даних. Дає змогу пов'язувати зміни в коді застосунку зі змінами, які потрібно внести в структуру БД, що спрощує розгортання та оновлення застосунку.
  • Модульне тестування (юніт-тести) - відіграє дуже велику роль у Laravel, який сам по собі містить велику кількість тестів для запобігання регресій (помилок внаслідок оновлення коду або виправлення інших помилок).
  • Сторінковий вивід (pagination) - спрощує генерацію сторінок, замінюючи різні способи розв'язання цього завдання єдиним механізмом, вбудованим у Laravel.