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