Как устроена работа с ActiveForm? И как все это работает?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
mistbow
Сообщения: 64
Зарегистрирован: 2013.11.05, 20:26
Контактная информация:

Как устроена работа с ActiveForm? И как все это работает?

Сообщение mistbow »

Приветствую!

Хочу более менее досконально разобраться с устройством и принципом работы сего чуда...) Примерно представляю, но как-то не до конца.
Есть тот, кто может это все это изложить боле менее понятно?
Думаю, что многим бы это было интересно... мне например очень. Копался в коде, отлаживал в дабагере, но все равно как-то не все понятно...

Заранее благодарен!
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как устроена работа с ActiveForm? И как все это работает?

Сообщение zelenin »

да, конечно. мог бы не спрашивать. задавай вопросы.
Аватара пользователя
wokster
Сообщения: 308
Зарегистрирован: 2013.09.06, 14:12
Контактная информация:

Re: Как устроена работа с ActiveForm? И как все это работает?

Сообщение wokster »

Вот оф доки:
http://www.yiiframework.com/doc-2.0/yii ... eform.html
Прочитайте и спросите, что конкретно не понятно?
По сути это виджет, который создает красивую форму на базе bootstrap.
Аватара пользователя
mistbow
Сообщения: 64
Зарегистрирован: 2013.11.05, 20:26
Контактная информация:

Re: Как устроена работа с ActiveForm? И как все это работает?

Сообщение mistbow »

wokster писал(а):Вот оф доки:
http://www.yiiframework.com/doc-2.0/yii ... eform.html
Прочитайте и спросите, что конкретно не понятно?
По сути это виджет, который создает красивую форму на базе bootstrap.
Это я понимаю. Меня интересует как он работает. Т.е.от создания модели до вывода информации через view в браузер, валидации и получения и обработки результата через Ajax. Т.е. На уровне логики и методов классов.
Где и когда подгружаеются нужные java скрипты. Какая информация в них передаётся. Как скрипт понимает по какому урлу передавать данные и где и как валидировать.
Аватара пользователя
wokster
Сообщения: 308
Зарегистрирован: 2013.09.06, 14:12
Контактная информация:

Re: Как устроена работа с ActiveForm? И как все это работает?

Сообщение wokster »

контроллерA рендерит view
внутри view виджет ActiveForm обрабатывает данные пришедшие из контролера и выводит их с помощью bootstrap
при этом подключаются javascript которые проверяют валидность данных, согласно правилам описанным в моделе.
При отправки запроса запрос попадает в контроллерA

Более детально долго писать. Задавайте вопросы
Аватара пользователя
mistbow
Сообщения: 64
Зарегистрирован: 2013.11.05, 20:26
Контактная информация:

Re: Как устроена работа с ActiveForm? И как все это работает?

Сообщение mistbow »

Это все понятно.
Мне непонятно как данные попадают обратно. Как они разбираются и проверяются.
Как и где подключаются Java скрипты. Т.е. как это все в комплексе работает?
Как и где виджет берет url для отправки данных в контроллер. вроде как из модели то-то берется.
Т.е. как это все на уровне классов работает?

Как можно свои виджеты разработать? Есть ли какие-то доки на этот счет?
Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: Как устроена работа с ActiveForm? И как все это работает?

Сообщение Demon_id »

mistbow писал(а):Мне непонятно как данные попадают обратно.
результат работы виджета - обычная хтмл форма. вы не в курсе как данные отправляются из обычной хтмл формы?
mistbow писал(а):Как они разбираются и проверяются.
приходят в гет/пост параметрах, после чего вы их записываете в модель. массовым присвоение через load() либо назначая каждому свойству из модели. потом вызываете метод модели validate() явно, либо вызывая save() он вызовет validate() внутри себя.
mistbow писал(а):Как и где подключаются Java скрипты.
Виджет их публикует как свои ассеты.
mistbow писал(а):Как и где виджет берет url для отправки данных в контроллер.
если не указать прямо в конфигурации виджета, то в форме action окажется пустым и форма будет отправляться на урл текущей страницы. это тоже стандартное поведение обычной хтмл формы.
mistbow писал(а):вроде как из модели то-то берется.
из модели берутся правила валидации и конвертируются в такие же валидаторы на жава скрипте. это что касается клиент валидации.
mistbow писал(а):Как можно свои виджеты разработать?
какие конткретно?
mistbow писал(а):Есть ли какие-то доки на этот счет?
Их есть у меня (с).
https://github.com/yiisoft/yii2/blob/ma ... %BE%D0%B2-
Аватара пользователя
mistbow
Сообщения: 64
Зарегистрирован: 2013.11.05, 20:26
Контактная информация:

Re: Как устроена работа с ActiveForm? И как все это работает?

Сообщение mistbow »

Demon_id писал(а):
mistbow писал(а):Мне непонятно как данные попадают обратно.
результат работы виджета - обычная хтмл форма. вы не в курсе как данные отправляются из обычной хтмл формы?
Как передаются данные формы стандартым способом знаю.

А разве ActiveForm не способен передавать данные ajax запросом?

Например Widget на DataTables?
Ответить