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 имеет встроенный шаблонизатор, который более robustный, чем шаблонизатор Flight. Flight рекомендует Latte для этого.
  • Fat-Free имеет уникальную CLI-команду типа "route", где вы можете строить CLI-приложения внутри самого Fat-Free и обрабатывать их как GET-запрос. Flight достигает этого с помощью runway.

Недостатки по сравнению с Flight

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