Pull to refresh
8K+
413
Александр Макаров@SamDark

PHP, Yii

21,1
Rating
676
Subscribers
Send message

Статья — это прочтение графиков и выводы. Графики удобнее смотреть в полуинтерактивном режиме по ссылке, которого, естественно, не будет, если просто вставить сюда скриншоты. Ну и я постоянно обновляю эти тесты, так что устарело бы очень быстро.

Так откройте ссылку.

О, и правда workerman хорош!

О, добавлю тоже.

Да, надо добавить тоже…

Тогда смотрите на то, что помечено как classic.

Занятно. А чего не взять наследника двух предыдущих поколений из пакетов Yii3?

  1. http://github.com/yiisoft/db

  2. https://github.com/yiisoft/active-record

Шаблоны и плагины можно на PHP писать.

https://yiipress.yiiframework.com/ будет покруче по способности нагрузку держать :)

Мне нравится. Вероятно, испробую в одном из OpenSource проектов.

Раннер грузит кофиги, создаёт контейнер, наполняя его конфигурацией и вот это всё. Можно свой сделать или вообще в своём index.php без всякого раннера работать. Параметры конструктора runner-а — это как раз конфиг начального запуска. Дальше как раз всё разруливается контейнером.

Чтобы что-то заменить, нужно раннер сделать свой. В Yii3 два типа пакетов: те, что чисто под Yii, они префиксируются как yii- и независимые пакеты, которые без префикса. Те, что префиксированы — там мы не смотрим на расширяемость и заменямость и просто подразумеваем что работать будем с плюс-минус умолчаниями. В не Yii-специфиычных всё наоборот.

По поводу .env у нас было мнение что его 1) не будут юзать в проде 2) загрузки через docker compose достаточно. Это мнение не оправдало себя, переделаем затащим на борт тот же vlucas.

Сам эксперимент интересный, но проведён предельно грубо. Думаю, в вашем случае это можно и компанию похоронить... Можно было объяснить что это и зачем, какие гипотезы он хочет проверить, мотивировать остальных действительно влиться в эту штуку, а не саботировать её. Глядишь, что-то и вышло бы. К осознанному коду вернулись бы обязательно, но с пониманием и новыми инструментами.

Интерфейсы не завсят от PDO (но сам пакет да, там часть реализации именно под PDO). По идее, можно реализовать и сейчас. В идеале, вынуть оттуда PDO-часть в отдельный пакет. Не уверен только на тему промисов и обработки результатов.

Синтаксис более явный, чем у вас. Но ваш тоже норм.

Это частично расписано в статье. Личная цель была в том, что я сделал несколько больших коммерческих проектов и на Laravel и на Symfony и на Yii2 и не был до конца доволен ни одним из них.

Для меня лично:

  1. быстрый DI-контейнер, который при этом не компилится. В Symfony компилится, в Laravel не быстрый, в Yii2 уже норм, но мало используется по назначению.

  2. форсирование нормального depdendecy inversion, отсутствие service locator. В Laravel сервис локатор и "фасады" несколько всё портят. В Symfony в меньшей степени.

  3. PSR. В Yii3 нативный, в Symfony через адаптеры и не всё. У Laravel как у Symfony потому что юзает компоненты Symfony.

  4. Качество. Такого покрытия тестами, пожалуй, ни у кого больше нет.

  5. Открытость к PHP. Остальные фреймворки довольно закрыты к остальной экосистеме.

  6. DBAL. yiisoft/db прекрасен.

  7. Можно как угодно делать себе архитектуру и фреймворк не будет мешать. Я люблю вертикальные слайсы.

  8. Много классных пакетов и возможность использовать любые PHP-пакеты. От того же Symfony, например, или PSR-совместимые. Контейнер отлично справляется с их конфигурацией.

Понял. Чуть подробнее распишу тогда про это в кукбуке.

Когда SOLID и архитектурные паттерны используются чтобы были без понимания зачем, проекту становится очень плохо очень быстро. Когда не используются... получается даже немного лучше на короткой дистанции. На средней-длинной начинается лавина техдолга.

Переменные устанавливает не XDebug, а вы сами. Судя по всему, нужно собрать рецепт по XDebug.

Проекты в Yii3 больше не запускаются нажатием одной кнопки.

Да вроде запускаются через make up. Что-то не работает?

1
23 ...

Information

Rating
366-th
Location
Воронеж, Воронежская обл., Россия
Works in
Date of birth
Registered
Activity