AlkatraZ, оно вроде ориентированно больше на микросевисы. Хотя не вижу в них ничего плохого.
# Delphinum (05.12.2016 / 15:31)
AlkatraZ, оно вроде ориентированно больше на микросевисы.
Я тоже так поначалу думал
.gif)
Но когда глубоко влез в эту тематику и асилил большинство материалов, стало ясно, что за этим будущее...
---
Наиболее просто начать со
Slim Framework
Там главный разработчик, один из разработчиков Zend Framework (Rob Allen), потому, во многих взглядах увидишь много общего.
Главное достоинство Слима - маленький размер, легкость "асиливания" подхода с Middleware, но в то же время современная архитектура с DI, роутером и т.д.
И самое главное - это их документация.
Даже если тебе наплевать на сам Slim, стоит почитать мануалы на их сайте, там очень простым и доступным языком объясняют принципы подхода PSR-7 + Middleware Dispartcher.
---
У них же есть ссылка, на скачивание "скелета" (skeleton app) с чего и рекомендую начать.
Скелет - это практически готовый сайт, где есть одна страница и задействованы все подсистемы. чтоб можно было на примере асилить работу.
AlkatraZ, таки знаком с этим малышом, но я не представляю себе крупный проект с таким подходом, если честно. Может просто еще не сталкивался.
# Delphinum (05.12.2016 / 15:41)
AlkatraZ, таки знаком с этим малышом, но я не представляю себе крупный проект с таким подходом, если честно. Может просто еще не сталкивался.
Он не такой уж и малыш. Это просто ядро системы, но там есть PSR-7 Request - response, DI, Router и прочий джентльменский набор в виде простой крутилки Middleware.
А когда собираешь конкретный проект, так, или иначе, подключается куча библиотек и результирующий размер выходит большой.
AlkatraZ, ну весь современный PHP сегодня тянется в сторону "пакетирования" и "сборки из кусков", это норм и я за, но меня больше смущает не это, а отсутствие всяких плюшек типа декларативного программирования и конфигурирования как в зенде. Тобишь когда проект небольшой, настроить роутинг через вызовы $router->get(...) просто, а когда проект здоровый, там уже часто карта роутинга на добрую сотню-другую строчек, и подход с прямым вызовом методов уже не кажется столь удобным решением.
А если говорить о модульной реализации (которая используется в зенде), то становится еще сложнее.
# Delphinum (05.12.2016 / 15:49)
но меня больше смущает не это, а отсутствие всяких плюшек типа декларативного программирования и конфигурирования как в зенде.
Да, конфигурация в Зенде - это действительно крутая и удобная вещь.
Я даже в новом Джоне ее использовал.
Хотя от зенда тут только zend-servicemanager (на нем построен наш DI), zend-i18n и zend-stdlib, но тем не менее построено все не "в столбик", а именно на конфигах.
https://github.com/john-cms/jo ... 5-L52
https://github.com/john-cms/jo ... onfig
А в Слиме, при желании тоже можно запилить конфиги...
Но дело не в этом. Слим очень прост для изучения.
А те Middleware, которые ты напишешь для Слима, будут работать и на zend-expressive, в этом и есть их главный смысл - полная абстракция и независимость от фреймворков. Ищешь на гитхабе psr-7 middleware и с 70% вероятностью пакет подойдет под твою систему, несмотря на используемый фреймворк.
Скорее всего, в следующем году будет принят еще один PSR, касающийся Middleware и это будет очень хорошо. Тогда они скорее всего выкатят какой-то интерфейс.
Это нам даст практически полную совместимость.
Ищешь на гитхабе к примеру PSR-20 (ну например под таким номером примут спецификацию Middleware) и этот пакет подойтет под твою систему. Реальное удобство и универсальность.
AlkatraZ, насколько я знаю, это появилось сначала в смарти (или даже в ларавеле), а уже оттуда перекочевало в мейнстрим.
В общем да, это замена предлагаемого зендом MVC Application. Не знаю хорошая или плохая, но замена.