R50 7d87dfc39896e9085c69187cd1071e6c
Senior PHP + JS/Vue + Верстка

Собственный php-фреймворк Evas PHP (OpenSource)

Добавлено 28 апр 2020 в 17:11
GitHub https://github.com/evas-php
Сайт https://evas-php.com
Модульный фреймворк без внешних зависимостей, с возможностью тонкой
кастомизации, много полезных штук из коробки. App, Di, Loader, Routing
(MapRouter, AutoRouter, Controller), Validation (Field, Fieldset, Inner
Fieldsets, JsonFieldset, HtmlQuotes), ORM (Connection, Scheme,
ActiveRecord, DataMapper, IdentityMap, QueryBuilder, InsertBuilder,
QueryResult, etc), Http, Web, WebStorage, etc.

Модули:

  • evas-base — Базовый модуль (App, SingletonInstance, PhpHelper, App трейты и другие хелперы)
  • evas-di — DI контейнер на магии
  • evas-validate — Валидация полей, набора полей, вложенных наборов полей, json наборов полей, экранирование html
  • evas-router — Маршрутизатор (По конфигу и авто)
  • evas-db — Модуль базы данных (DBAL: , DataMapper, Builders, Results, IdentityMap, Schemas)
  • evas-orm — ORM (ActiveRecord)
  • evas-http — http-модуль (Request, Response, Uri, CurlRequest, CurlResponse)
  • evas-web — Веб-приложение

Дорелизная версия используется во многих заказных и моих проектах, а
также во второй версии сервиса Деловая сфера (работал там в 2018,
команде понравилось, решили использовать вместо Yii2, за 4 дня
развернули и перенесли бекенд с Yii2 на Evas)

P.s. Тут
скорее не убийца других фреймворков, а фреймворк, занимающий
промежуточную нишу
, которую ещё не заняли. У него есть несколько весомых
преимуществ как раз таки за счет его модульности и гибкой настройки +
нет жестких рамок и ограничений, можно выбирать, например:

- валидация хоть в моделях как в Yii2, хоть в запросах, хоть отдельно и без привязки к данным как в Laravel,

-
единый стиль доступа к request и response в обработчиках запросов, без
необходимости постоянно писать их в аргументах как в Laravel,

-
первый нормальный автороутер на php, который можно использовать вместе с
роутером на маппах, вместе с middleware, разделением на группы
маршрутов,

- трейты расширения классов (решает проблему наследования в ооп), ленивая загрузка,

- экранирование html в валидаторе или после получения записи на выбор,

- Прямые запросы, запросы через сборщики, ActiveRecord и DataMapper внутри одной ORM


P.s.s. Обладаю редким навыком: Разбираюсь во внутренностях фреймворков,
понимаю как, что и зачем устроено. Могу закостомайзить любой фреймворк
или сделать фреймворк/движок под нужды команды. Добавить любые нужные
фичи, расширить, ужать, переписать. Ну или предложить Evas PHP :)
Bd74625ffe