Size: a a a

2020 July 12

A

A in Yii Framework 3
Roman Tsurkanu
RestGroup вроде то и делает. Хотя в ларе можно ещё убрать часть через only
Ну да, так и работает
источник

A

A in Yii Framework 3
Кстати, а не планируется в Yii3 валидировать сами Request's, а не модели?

Как в том же ларавел или в spiral я ещё такое видел
источник

RT

Roman Tsurkanu in Yii Framework 3
Планируется, пока не понятно что из этого выйдет
источник

RT

Roman Tsurkanu in Yii Framework 3
Есть пожелания?
источник

RT

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

A

A in Yii Framework 3
Пожелания только самые лучшие) в каком виде они будут, в таком и будем пользоваться.
Но если отталкиваться от реализации, то удобнее вроде бы, на мой взгляд, конечно же, ларавеловская

Где есть метод для проверки авторизации, сами правила и сообщения для кастомизации
источник

A

A in Yii Framework 3
А, ну единственное пожелание, то, что я заметил в yii2

Например, когда нужно отвалидировать массив, то он не пишет, на какой итерации объект не прошел проверку, он вроде просто выдавал какой-то общий мессадж, что объект в целом не прошёл проверку
источник

RT

Roman Tsurkanu in Yii Framework 3
Постараемся учесть, спасибо
источник

A

A in Yii Framework 3
источник

Д

Дмитрий in Yii Framework 3
A
Кстати, а не планируется в Yii3 валидировать сами Request's, а не модели?

Как в том же ларавел или в spiral я ещё такое видел
Это порождает проблемы: вместо модели входящих данных будут использоваться скаляры. Такое возможное поведение приведет к ухудшению конечного кода.

т.е.:
хорошо:
// ....
$form = (new Form());
$form->load($request);
$this->validate($form);
// ....
$form->id
$form->name
$form->anything


плохо:
// ....
$this->validate($requst);
// ....
$id = $request->getAttribute('id');
$name = $request->getAttribute('name');
$anything = $request->getAttribute('anything');


вы ведь об этом говорили?
источник

Д

Дмитрий in Yii Framework 3
Александр Некрасов
React с typescript не рассматривали ?
как-то так вышло, что вопрос встал между Angular и Vue :)
источник

A

A in Yii Framework 3
<?php

namespace App\Http\Requests;

use App\Models\Client;
use Illuminate\Foundation\Http\FormRequest;

class ClientRequest extends FormRequest
{
   /**
    * Determine if the user is authorized to make this request.
    *
    * @return bool
    */
   public function authorize()
   {
       return true;
   }

   /**
    * Get the validation rules that apply to the request.
    *
    * @return array
    */
   public function rules()
   {
       return [
           Client::ATTR_NAME => 'required',
       ];
   }

   public function messages()
   {
       return [
           Client::ATTR_NAME . '.required' => 'Введите имя клиента'
       ];
   }
}


У них сами реквесты валидируются и инжектятся в контроллеры

Если реквест прошел проверку, то выполнится код в экшене
источник

A

A in Yii Framework 3
Так и контроллер становится чище и моделька, она тогда просто выполняет свою какую-то бизнес логику
источник

RM

Rustam Mamadaminov in Yii Framework 3
Дмитрий
долго спорили. постараюсь сделать выводы:

1. Vue позволяет писать код плохо, Angular будет бить по рукам
2. Если разбивать компоненты по файлам: отдельно .ts/js, отдельно .css/sass/less, отдельно .html, то у Vue можно только вот так. Считаю это большим упущением
3. У Angular из коробки TypeScript
4. Код по внешнему виду и логике похож на PHP'шный
5. DI в Angular, как в PHP - через конструктор. Во Vue - через жопу боль


Подвожу вывод:
Angular - это про простоту, наглядность и явность
Vue - это магия, костыли и лишний багаж знаний в виде всяких хуков и обработчиков (без него не получится писать на Vue)
Вы не видели Vue 3?
источник

A

A in Yii Framework 3
Почему в Yii такое сделать будет проблемно, например, даже не проблемно, а не привычно
Потому что, в Yii мы привыкли, что actionCreate как и отдает страницу с формой, так и сохранят в итоге данные, если Post

а в подходе Laravel
Метод create просто отдает страницу
а store сохраняет данные

так же и с редактированием

edit отдает страницу, а update сохраняет
источник

A

A in Yii Framework 3
Я у себя так и делал, когда Todo на Yii3 писал - https://github.com/aushev06/yii3/blob/master/src/Todos/TodoController.php
источник

Д

Дмитрий in Yii Framework 3
A
<?php

namespace App\Http\Requests;

use App\Models\Client;
use Illuminate\Foundation\Http\FormRequest;

class ClientRequest extends FormRequest
{
   /**
    * Determine if the user is authorized to make this request.
    *
    * @return bool
    */
   public function authorize()
   {
       return true;
   }

   /**
    * Get the validation rules that apply to the request.
    *
    * @return array
    */
   public function rules()
   {
       return [
           Client::ATTR_NAME => 'required',
       ];
   }

   public function messages()
   {
       return [
           Client::ATTR_NAME . '.required' => 'Введите имя клиента'
       ];
   }
}


У них сами реквесты валидируются и инжектятся в контроллеры

Если реквест прошел проверку, то выполнится код в экшене
В чем отличие от формы, кроме как ненужной завязки на vendor и request?
источник

Д

Дмитрий in Yii Framework 3
Rustam Mamadaminov
Вы не видели Vue 3?
он же вроде в бете
источник

RT

Roman Tsurkanu in Yii Framework 3
Дмитрий
В чем отличие от формы, кроме как ненужной завязки на vendor и request?
Минус валидация и минус билдинг
источник

RT

Roman Tsurkanu in Yii Framework 3
Контроллеры чище
источник