Gii - идеология

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Gii - идеология

Сообщение nizsheanez »

Собственно меня смущает вот этот момент:
https://github.com/yiisoft/yii2/commit/ ... 7b24357661

Почему код Gii нельзя юзать?
А если я хочу чтобы автогенерились phpDoc для атрибутов?
Если я изменю код после Gii то я уже не смогу его перегенерировать, чтобы добавить новые атрибуты или убрать старые, после миграций.
По мне так самый здравый подход - это иметь в проекте автогенерируемый слой который мапит базу данных. Это может быть маппинг таблиц, или AR - не важно. Главное, что все изменения базы подхватываются кодом, а программист пишет только миграции.

Нет, конечно, я могу написать парсер который мне будет прописывать в мои модели phpDoc'и для поддержки обновления базы (Собственно для первой версии такая штука мною и написана). Но, нафига козе боян, если можно отнаследоваться от gii модели?

В общем хочу знать ваши мысли или рекомендации.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Gii - идеология

Сообщение samdark »

Не обязательно всегда перегенерировать. Там diff есть.

По базе не получается сгенерить много чего, например, база ничего не знает о валидации кредитных карт или возраста. Плюс сценарии так и так руками писать.
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Gii - идеология

Сообщение nizsheanez »

1) diff есть. А еще есть 150 моделей, и что мне diff руками тыкать и копипастить?

2) Вообще не проблема, ну не может и бог с ним, сами напишем и сценарии и rules, и вообще всю бизнеслогику.
Но почему наследоваться-то не рекомендуется?
пусть gii делает минимум, но пусть он это делает сам.
Извините, не понимаю подхода, давайте еще раз ))
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Gii - идеология

Сообщение samdark »

1) И все 150 постоянно меняются? У нас около 120. Меняется 1—2 модели раз в пол года.
2) Наследуйтесь, никто не мешает. Просто перекрыть придётся почти всё. Смысла просто нет.
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: Gii - идеология

Сообщение Ekstazi »

Проблема знакома. У нас так было. Есть 60 таблиц, из которых менялись все. В итоге я плюнул на все это дело, взял phpparser + часть кода из gii + наработки по генерации документации для моделей (не помню автора) и сделал свой генератор-дополнятор моделей. До ума так и не довел(код местами костыльный), но оно сделала свою работу и дописала нужные поля в модель и документацию, при этом оставив весь мой код нетронутым. Однако один побочный эффект был - форматирование немного исказилось. Если очень надо, то могу поделиться, но, предупреждаю - код заточен под нужды нашего проекта и генерирует/обновляет модели с учетом особенностей нашего проекта(неймспейсы и так далее).
ApJIeKuHo
Сообщения: 191
Зарегистрирован: 2011.09.28, 11:21

Re: Gii - идеология

Сообщение ApJIeKuHo »

Буду очень благодарен, сам сейчас столкнулся с подобной проблемой, к сожалению пока мозгов не хватает решить самому( Так что с удовольствием бы посмотрел как подобное делается.
Стучитесь да откроется Вам, Молитесь да услышаны будете!
P.S.: Yii Jabber Conference: yii@conference.jabber.ru
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: Gii - идеология

Сообщение Ekstazi »

Правда писал под 1-ю версию, но, думаю вы там сможете адаптировать уже. Если сможете довести до ума и потом выложить то буду очень признателен. Зависит от doc-block-generator.
Вложения
modelGen.zip
Генератор/обновлятор моделей
(14.5 КБ) 226 скачиваний
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Gii - идеология

Сообщение nizsheanez »

Ну вот тогда и моя реализация до кучи: https://github.com/nizsheanez/DocBlockGenerator
Тоже для первой версии. Для второй ничего нет.
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Gii - идеология

Сообщение nizsheanez »

Вообще по уму такие штуки распиливать на 2 компонента отдельных.
1) Читатель - Выковыривает что и где не хватает.
2) Писатель - Получает все эти данные и по ним генерирует phpDoc
В таком подходе всякие штуки для документации и прочего также могут быть компонентами типа "Писатель"
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: Gii - идеология

Сообщение Ekstazi »

Мой вариант использует https://github.com/nizsheanez/DocBlockGenerator , но, помимо обновления доков он так же дополняет правила валидации, связи и названия столбцов.
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Gii - идеология

Сообщение nizsheanez »

Ну нифигасе! :-)
Ответить