Size: a a a

2020 June 29

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
What do you think about a layout config in the WebView?
What if I use three different layouts?
источник

T

TradersVE in Yii Framework 3
Alexander Makarov
What if I use three different layouts?
Aply theme work fine
источник

AM

Alexander Makarov in Yii Framework 3
That's what I've actually did multiple times.
источник

AM

Alexander Makarov in Yii Framework 3
i.e. ControllerA was w/ layout1. ControllerB with layout2.
источник

T

TradersVE in Yii Framework 3
yes but if you look at slim it works $view->render('view', data)->setLayout('template');
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
What if I use three different layouts?
We can add an optional layout parameter to the render method. By default null value it used the layout configured by container.
источник

T

TradersVE in Yii Framework 3
I wanted to do something like $webView->layout('template'->render('view', $data);
источник

AM

Alexander Makarov in Yii Framework 3
Alright.
источник

DS

Dmitriy S in Yii Framework 3
TradersVE
I wanted to do something like $webView->layout('template'->render('view', $data);
👍
источник

AM

Alexander Makarov in Yii Framework 3
TradersVE
I wanted to do something like $webView->layout('template'->render('view', $data);
Sounds good.
источник

DS

Dmitriy S in Yii Framework 3
So we have to move renderPartial to WebView or use something like
$webView->layout(null)->render('view', $data);
источник

AM

Alexander Makarov in Yii Framework 3
Umm... no
источник

AM

Alexander Makarov in Yii Framework 3
renderPartial is commonly used in templates
источник

T

TradersVE in Yii Framework 3
If you do not specify the function does not pass the stack, it is simple.
источник

T

TradersVE in Yii Framework 3
Dmitriy S
So we have to move renderPartial to WebView or use something like
$webView->layout(null)->render('view', $data);
$webView->render('view', data); without layout
источник

T

TradersVE in Yii Framework 3
I like the idea of design in the container-di.
источник

Д

Дмитрий in Yii Framework 3
Roman Tsurkanu
Не надо делать и там и там. Делаешь или внутри контролера формой, или до контролера реквестом.
Это уходит уже в метапрограммирование.
Если хочется проверить, что page is int and greater than 0, то можно сделать в роутах. Всё остальное лучше делать в контроллере, иначе не найдешь, почему старый метод не работает, а новый работает.
Тем более потом брать
$request->getAttribute(page) - потенциально можно здесь облажаться, если не сделать проверку, что значение а) число б) больше 0. Все статические анализаторы будут кричать, что потенциальная бага
Я не вижу смысла в такой валидации.
источник

RT

Roman Tsurkanu in Yii Framework 3
ок
источник

RT

Roman Tsurkanu in Yii Framework 3
последний аргумент озвучу.


Есть аутентификация, которая по механике - проверка данных в реквесте.

При этом никому в голову не приходит в каждом экшене контроллера писать if(notValid) return.

Пишут общую обработку до контроллера.

Я хочу так же как и с аутентификацией - получать в контроллере проверенные данные.
источник

RT

Roman Tsurkanu in Yii Framework 3
"Все статические анализаторы будут кричать"

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