Здравствуйте, %username%! Несколько лет назад я познакомился с замечательным фреймворком Yii и с тех пор, как только у меня появляется возможность запустить на нем проект, берусь за него.
Одна из замечательных функций, которая мне очень нравится, — это инструмент Gii, включенный в фреймворк начиная с версии 1.1.2. Теперь я хочу поговорить о сторонних модулях на его основе.
Gii «Из коробки» генерирует достаточно функциональный код, часто, когда вам нужно создать небольшую функцию, вам придется изменить совсем немного.
Но что, если нам нужно больше возможностей? Например, добавить поддержку нескольких языков или изменить стиль создаваемого кода? Есть 2 пути расширения: Изменить существующие шаблоны и создать свои генераторы (или использовать готовые соответственно).
На основе этих возможностей созданы достаточно интересные продукты для комфортной работы с автогенерацией кода.
Гиикс
Страница расширения Пожалуй, мой любимый генератор.Генерирует базовый класс с кодом для моделей и отдельный пустой класс модели с наследованием от базового.
Таким образом, при изменении базы данных вы можете выполнить повторную генерацию, не перезаписывая код. Он также генерирует представление на основе отношений, что часто экономит массу времени.
Основные особенности
- Улучшенный и упрощенный i18n
- Поддержка отношений HAS_MANY и MANY_MANY.
- Встроенная поддержка сохранения отношений MANY_MANY с использованием нового метода GxActiveRecord::saveWithRelated.
- Корректная обработка атрибутов связанной модели, отрисовка соответствующих полей формы в зависимости от типа ссылок.
- Удобная структура моделей для дальнейшей работы
Многиеманьяджаксрудадмин
Страница расширения Довольно крутая штука.Предоставляет шаблон для генерации кода с использованием ajax во внешнем интерфейсе для моделей с пакетами MANY_MANY. Удобно, когда нужно создать сущность, например «товар» или «категория».
Например, для товара мы используем обычный CListView или CGridView, а для категорий можно использовать вложенный набор, редактируемый с помощью плагина jstree. Редактируется все это дело в модальных диалогах, с возможностью прикреплять файлы.
На основе Giix.
Заключение
Есть еще много моделей и наборов шаблонов для генерации; Я описал только те, которыми мне приходилось пользоваться и которые мне очень нравятся.Меня не покидает идея форка для Giix, есть действительно хорошие идеи по этому расширению, например: добавить настройку типов полей перед генерацией, настройку правил, фильтров, возможно это стоит оформить как новый модуль для йии2. Время покажет. Это моя первая статья, до этого я только троллить умел.
За троллинг и оскорбления других пользователей ранее прошу прощения.
По советам и критике по написанию статьи просьба писать в личку, в том числе и с ошибками (у меня русский плохой, знаю, работаю над этим).
Ссылки: многиеманьяджакскрудамин гийкс Автоматическая генерация кода в Yii Теги: #php #Yii #gii #giix #php #Yii
-
Новая Концепция Olap
19 Oct, 24 -
Порекомендуете Vps? Медиапроект, Начало
19 Oct, 24 -
Джанго + Java = Джанго-Jython 1.0.0
19 Oct, 24