Flight проти Fat-Free

Що таке Fat-Free?

Fat-Free (ласкаво відомий як F3) — це потужний, але простий у використанні PHP мікрофреймворк, призначений для допомоги у створенні динамічних і надійних веб-додатків — швидко!

Flight порівнюється з Fat-Free у багатьох аспектах і, ймовірно, є найближчим родичем за функціями та простотою. Fat-Free має багато функцій, яких немає у Flight, але також має багато функцій, які є у Flight. Fat-Free починає показувати свій вік і не такий популярний, як колись.

Оновлення стають менш частими, а спільнота не така активна, як раніше. Код достатньо простий, але іноді відсутність дисципліни в синтаксисі може ускладнити читання та розуміння. Він працює з PHP 8.3, але сам код все ще виглядає так, ніби живе в PHP 5.3.

Переваги порівняно з Flight

  • Fat-Free має трохи більше зірок на GitHub, ніж Flight.
  • Fat-Free має деяку пристойну документацію, але їй бракує чіткості в деяких областях.
  • Fat-Free має деякі розкидані ресурси, як-от туторіали на YouTube та онлайн-статті, які можна використовувати для вивчення фреймворку.
  • Fat-Free має деякі корисні плагіни, вбудовані, які іноді корисні.
  • Fat-Free має вбудований ORM під назвою Mapper, який можна використовувати для взаємодії з вашою базою даних. Flight має active-record.
  • Fat-Free має Sessions, Caching та локалізацію вбудованими. Flight вимагає використання сторонніх бібліотек, але це охоплено в документації.
  • Fat-Free має невелику групу плагінів, створених спільнотою, які можна використовувати для розширення фреймворку. Flight має деякі, охоплені в документації та прикладах.
  • Fat-Free, як і Flight, не має залежностей.
  • Fat-Free, як і Flight, орієнтований на надання розробнику контролю над їхнім додатком і простого досвіду розробки.
  • Fat-Free підтримує зворотну сумісність, як і Flight (частково тому, що оновлення стають менш частими).
  • Fat-Free, як і Flight, призначений для розробників, які вперше занурюються в світ фреймворків.
  • Fat-Free має вбудований шаблонний двигун, який є міцнішим за шаблонний двигун Flight. Flight рекомендує Latte для цього.
  • Fat-Free має унікальну CLI-команду типу "route", де ви можете створювати CLI-додатки всередині самого Fat-Free і трактувати її як запит GET. Flight досягає цього за допомогою runway.

Недоліки порівняно з Flight

  • Fat-Free має деякі тести реалізації і навіть має свій власний тестовий клас, який дуже базовий. Однак, він не є 100% покритим unit-тестами, як Flight.
  • Вам доведеться використовувати пошукову систему, як-от Google, щоб фактично шукати на сайті документації.
  • Flight має темний режим на своєму сайті документації. (мік-дроп)
  • Fat-Free має деякі модулі, які жахливо не підтримуються.
  • Flight має простий PdoWrapper, який трохи простіший за вбудований клас DB\SQL у Fat-Free.
  • Flight має плагін дозволів, який можна використовувати для забезпечення безпеки вашого додатка. Fat-Free вимагає використання сторонньої бібліотеки.
  • Flight має ORM під назвою active-record, який відчувається більше як ORM, ніж Mapper у Fat-Free. Додаткова перевага active-record полягає в тому, що ви можете визначати зв'язки між записами для автоматичних джойнів, тоді як Mapper у Fat-Free вимагає створення SQL views.
  • Дивовижно, але Fat-Free не має кореневого простору імен. Flight має простори імен скрізь, щоб не конфліктувати з вашим власним кодом. Клас Cache є найбільшим порушником тут.
  • Fat-Free не має middleware. Натомість є хуки beforeroute та afterroute, які можна використовувати для фільтрації запитів і відповідей у контролерах.
  • Fat-Free не може групувати маршрути.
  • Fat-Free має обробник контейнера ін'єкції залежностей, але документація неймовірно бідна щодо того, як його використовувати.
  • Налагодження може стати трохи хитрим, оскільки фактично все зберігається в тому, що називається HIVE