Обновить
413
Александр Макаров@SamDark

PHP, Yii

676
Подписчики
Отправить сообщение

В случае письма у нас:


  1. Требования ясны с самого начала.
  2. Абстракция довольно проста (стоимость внедрения стремится к нулю).
  3. Мотивация смены последующего способа отправки, как и его вероятность высока и понятна.

Очевидно, что тут не сделать небольшую абстракцию — преступление.


В случае с той же СУБД всё уже не так просто.

Откладывание слишком большого числа технических решений ведёт к страшному усложнению взаимодействия простых вроде бы компонентов (переслоёности), увеличению времени на разработку прототипа, повышению порога входа в проект, невозможности использования уникальных для конкретной реализации фич и другим гадостям. К тому же, абстракции постоянно текут.

Зачем же тогда отдельно выделены dependency inversion principle?

Потому что не получилась бы красивая аббревиатура :) В SOLID часть принципов прилично накладываются на остальные.

Придумал, а точнее взял Coupling/Cohesion, вывел из них красивые буквы SOLID и сделал их модными именно Роберт Мартин. Тут ошибки нет.

Прямо сразу без правок не будет.

Мы фреймворк бросать не собираемся. То есть развиваться будет.


Ветка 2.0 замораживается на тему новых фич через несколько месяцев. Сейчас пилится версия 2.1 с тучей PSR-интеграций и изменениями архитектуры. Она скоро станет основной.

Так а в чём тут удар? Был 1.1. В принципе, и он работал нормально, но надо было обновлять. В компании было много людей с экспертизой в Symfony. Решили перелезть на Symfony. Логично вроде. Вот если бы взяли Yii 2 и он не подошёл бы или были бы проблемы с Yii 1.1, а не то, что его просто не поддерживают давно — тогда да. Был бы удар.

Vagrant работает только на unix-подобных системах

Работает всё.

Какой бэкенд проекта Yii2 на Symfony?

Я попробовал разобраться. Похоже на data provider-ы из Yii + гриды / списки.

Любой шенген катит.

У Symfony идеология отличается прилично. На Yii можно делать очень просто и быстро, но и легко из за этого сделать плохо (лапшекод). На Symfony делать быстро и просто тоже можно (мы это сделали как-то на хакатоне, взяли второе место), но очень легко сделать слишком сложно (лазанья) и скатиться в J2EE (в плохом смысле). Одни compiler-pass и многоуровневое кеширование чего стоят...


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

И ещё на митапе SuperJob был этот же доклад. Вот видео: https://youtu.be/EfL8lsUTlFo?t=1h27m44s

Скорее нет, чем да. 4-ка только-только вышла. Опасно.

Во-первых, стоит уточнить что переписать с Yii 1.1. Он несколько устарел и поменять его, если и так есть необходимость переписать, нормально.


Причины переписать именно с фреймворком не связаны. Бэкенд состоит из множества сервисов, самые старые на Yii 1.1 и, как бывает, архитектура самих сервисов, которая изначально была нормальной, в изменившихся реалиях бизнес-процессов, становится не очень подходящей.


Yii 2.0 вполне подошёл бы, самое сложное там всё-равно совсем не про фреймворк, но так как некоторые сервисы уже на Symfony и у многих экспертиза именно в Symfony, было решено (ещё до моего прихода) не плодить зоопарк.

В дефолтном экспорте SQL ошибочка, кстати. Не экранируются называния столбцов с именами типа order или from. Это заставило познакомиться с скриптами экспорта более детально и они, могу сказать смело, чудесны.

И придётся держать две IDE :(

Скажите, пожалуйста, yii2.1 будет переписан под 7.1 (я имею ввиду типизацию параметров и тип возвращаемого значения у функций)?

Нет.


Планируется ли покрыть основные компоненты интерфейсами чтобы можно было их красиво заменять через DI?

Да.


Планируете ли вы, хотя бы частично, поломать связи между компонентами фреймворка?

Зависимости? Да.


Будет ли заменен boostrap3 на 4?

Если релизнется. Вообще это к 2.1 не относится. У расширений свои релизы.

Информация

В рейтинге
5 921-й
Откуда
Воронеж, Воронежская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность