Это частично расписано в статье. Личная цель была в том, что я сделал несколько больших коммерческих проектов и на Laravel и на Symfony и на Yii2 и не был до конца доволен ни одним из них.
Для меня лично:
быстрый DI-контейнер, который при этом не компилится. В Symfony компилится, в Laravel не быстрый, в Yii2 уже норм, но мало используется по назначению.
форсирование нормального depdendecy inversion, отсутствие service locator. В Laravel сервис локатор и "фасады" несколько всё портят. В Symfony в меньшей степени.
PSR. В Yii3 нативный, в Symfony через адаптеры и не всё. У Laravel как у Symfony потому что юзает компоненты Symfony.
Качество. Такого покрытия тестами, пожалуй, ни у кого больше нет.
Открытость к PHP. Остальные фреймворки довольно закрыты к остальной экосистеме.
DBAL. yiisoft/db прекрасен.
Можно как угодно делать себе архитектуру и фреймворк не будет мешать. Я люблю вертикальные слайсы.
Много классных пакетов и возможность использовать любые PHP-пакеты. От того же Symfony, например, или PSR-совместимые. Контейнер отлично справляется с их конфигурацией.
Когда SOLID и архитектурные паттерны используются чтобы были без понимания зачем, проекту становится очень плохо очень быстро. Когда не используются... получается даже немного лучше на короткой дистанции. На средней-длинной начинается лавина техдолга.
Django — неплохой фреймворк, конечно, но в вашем случае прослеживается эффект второго фреймворка. Когда все шишки начальные собраны на первом и есть к нему некоторые претензии, а вот со вторым вы уже понимаете, что делаете и он идёт лучше. Как следствие — второй кажется вам сильно лучше. Ложечки нашлись, осадок остался...
Про deprecated ошибся, читал, видимо по-диагонали анонсы, но вектор задали:
We’re not ready yet to make this new format the recommended one. YAML still offers many advantages. However, this update opens the door to using PHP as a first-class configuration format in the future. The new approach is concise, expressive, easy to maintain, well-supported by modern tools, and benefits from the full power of PHP. What’s still missing? Not all static analyzers and IDEs fully support complex array shapes yet, Symfony Flex currently understands YAML only, and a few other pieces still need refinement before this vision can become reality. Even so, this marks an exciting step toward a more unified, powerful, and developer-friendly configuration experience in Symfony.
Сам фреймворк воркер не блокирует (не должен, я последний раз проверял ещё до релизного тега). PDO, насколько я знаю, в Swoole перегружен своей реализацией, так что yiisoft/db тоже, по идее, не будет.
Такую табличку можно нарисовать в пользу любого фреймворка выбрав определенный набор фич... Тут, наверное, правильно будет сравнивать в контексте критичных именно вам возможностей. Бенчмарки точно сделать ещё раз стоит.
Синтаксис более явный, чем у вас. Но ваш тоже норм.
Это частично расписано в статье. Личная цель была в том, что я сделал несколько больших коммерческих проектов и на Laravel и на Symfony и на Yii2 и не был до конца доволен ни одним из них.
Для меня лично:
быстрый DI-контейнер, который при этом не компилится. В Symfony компилится, в Laravel не быстрый, в Yii2 уже норм, но мало используется по назначению.
форсирование нормального depdendecy inversion, отсутствие service locator. В Laravel сервис локатор и "фасады" несколько всё портят. В Symfony в меньшей степени.
PSR. В Yii3 нативный, в Symfony через адаптеры и не всё. У Laravel как у Symfony потому что юзает компоненты Symfony.
Качество. Такого покрытия тестами, пожалуй, ни у кого больше нет.
Открытость к PHP. Остальные фреймворки довольно закрыты к остальной экосистеме.
DBAL. yiisoft/db прекрасен.
Можно как угодно делать себе архитектуру и фреймворк не будет мешать. Я люблю вертикальные слайсы.
Много классных пакетов и возможность использовать любые PHP-пакеты. От того же Symfony, например, или PSR-совместимые. Контейнер отлично справляется с их конфигурацией.
Понял. Чуть подробнее распишу тогда про это в кукбуке.
Когда SOLID и архитектурные паттерны используются чтобы были без понимания зачем, проекту становится очень плохо очень быстро. Когда не используются... получается даже немного лучше на короткой дистанции. На средней-длинной начинается лавина техдолга.
Переменные устанавливает не XDebug, а вы сами. Судя по всему, нужно собрать рецепт по XDebug.
Да вроде запускаются через
make up. Что-то не работает?Django — неплохой фреймворк, конечно, но в вашем случае прослеживается эффект второго фреймворка. Когда все шишки начальные собраны на первом и есть к нему некоторые претензии, а вот со вторым вы уже понимаете, что делаете и он идёт лучше. Как следствие — второй кажется вам сильно лучше. Ложечки нашлись, осадок остался...
CodeIgniter, на самом деле, не умер. Вполне себе разрабатывается и релизы новые есть.
Да и Macromedia Flash трансформировался в Adobe Animate, который умеет экспортировать результат в HTML5 + CSS + JavaScript.
Мой вклад, на самом деле, несколько переоценен. Основное всё сделали вот эти люди: https://www.yiiframework.com/team
@NikitchenkoSergey а давайте список критичных вам фич для ваших приложений, попробую прикинуть, какой фреймворк вам больше подойдёт.
Про deprecated ошибся, читал, видимо по-диагонали анонсы, но вектор задали:
https://symfony.com/blog/new-in-symfony-7-4-better-php-configuration
Сам фреймворк воркер не блокирует (не должен, я последний раз проверял ещё до релизного тега). PDO, насколько я знаю, в Swoole перегружен своей реализацией, так что yiisoft/db тоже, по идее, не будет.
Нужно проверять.
Yaml считается deprecated и они переходят плавно на PHP массивы уже несколько версий.
По технике понятно. А как это дожно выглядеть в итоге для пользователя?
Смотря что имеется ввиду...
Можно пояснить?
Ну, оттестированы точно менее. Покрытие тестами в Yii3 исключительно высокое.
Такую табличку можно нарисовать в пользу любого фреймворка выбрав определенный набор фич... Тут, наверное, правильно будет сравнивать в контексте критичных именно вам возможностей. Бенчмарки точно сделать ещё раз стоит.
Что за overload? Можно пример?
А что такое баттл карта?
Они неплохие, но другие. Мы делали проекты и на одном и на другом. В итоге всё-таки сделали Yii3.