rpsv
@rpsv
делай либо хорошо, либо никак

Какие есть средства визуального программирования на Yii?

Здрасте! Я не слишком часто сижу за ПК, но вот для разработки время есть. Программирую на PHP/Yii. Вот и задался вопросом, есть ли средства визуального программирования для разработки на данном фреймворке для смартАфонов? Если нет, есть ли какие либо пожелания и предложения для данного продукта, потому что терять время не хочется, а такой продукт (по крайней мере мне) крайне нужен.

P.S. также заметил что GII не генерирует связь MANY_MANY, это так и есть, или просто я как то не так делаю?
  • Вопрос задан
  • 2550 просмотров
Пригласить эксперта
Ответы на вопрос 4
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Что вы планируете "визуально программировать"? Структура базы? Собирается через mysql worbench или схожие инструменты, модели можно генерить из структуры данных. Верстка - есть WYSIWYG редакторы, есть концепции аля собирать странички из блоков. Словом... слишком широкий термин.

p.s. программирование мышкой это грустно.
Ответ написан
deadbyelpy
@deadbyelpy
веб-шмеб
как @Fesor написал, а я перефразирую: "кодить мышкой - это дорога к менеджерам"
пишу код даже на смартфоне (между прочим, не понял что за странное именование "смартАфонов") используя редакторы, не сказал бы что супер удобно, но и жить можно.
Пожалуйста, если вы все же сделаете что то такое, не выкладывайте его в инете, т.к. это увеличит количество быдлокодеров на php. Да и все же тяжело себе представляю как можно сделать такую тулзу, ведь это не Java где интерфейс можно набросать, для php такое не получится, тут html + css разве что.

Но есть почти то что вам надо, это редакторы диаграмм. Строите каркас - генерируете код - дописываете все что надо.
Ответ написан
copist
@copist
Empower people to give
Для простеньких приложений, для реализации проекта уровня "proof-of-concept" достаточно визуального средства моделирования данных для выбранной СУБД + генератор моделей и CRUD из штатного средства gii фреймворка.

Эта связка позволить сгенерировать классы Active Record, классы форм, классы контролеров, шаблоны.

В принципе, этим уже можно пользоваться, если только не ... даты, списки, валидаторы, сложная бизнес логика. Это настраивается и дописывается вручную. Можно подшаманить базовые генераторы Gii как например сделал это я - у меня классы Active Record выглядят так:
class SomeEntity extends ASomeEntity { /* моя логика */ }

abstract class ASomeEntity extends CActiveRecord { /* стандартная логика Active Record */ }

Это позволяет перегенерировать класс ASomeEntity при изменении таблиц, но не потерять дополнительную логику, добавленную мной вручную (константы, обработчики событий, специальные выборки с кэшированием).

Понимаешь, даже в этом случае нужна клавиатура.

А для реализации более сложного проекта вообще всё не однозначно:
* переходят к ролевой системе прав (RBAC), которая далеко не всегда связана с CRUD
* диалоги становятся далеко не типовыми, могут содержать смешанные данные нескольких моделей (профиль пользователя = юзер + его фотки + новости друзей), на отдельные фрагменты накладываются свои ограничения доступа
* повторяющиеся блоки интерфейса оформляется как виджеты, а страницы начинают подключать эти виджеты динамически, в зависимости от контекста
* от Active Record постепенно избавляются в пользу ADO + правильное кэширование
* выносят бизнес-логику из контролеров и моделей в дополнительные классы, появляются расширения и модули
* часть логики вообще реализуют в браузере

Такое можно визуально проектировать, но автоматической проекции в виде кода на PHP не получится.

Хотя... Может быть UML? Но там тоже не всё просто.
Короче, нет - такое невозможно.

Рекомендую посмотреть на то, как устроены генераторы в Gii и создать свои, под типовые классы и шаблоны. У меня в практике есть 6 специальных генераторов кода, некоторые из них создавали до 10 файлов в системе. Но клавиатура всё же нужна.
Ответ написан
Комментировать
@PiloTeZ
...
Без клавиатуры - это не программирование.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы