@Devastor
I ❤❤❤ JAVASCRIPT

Где в Laravel хранить вспомогательные функции?

Есть следующее
$validator = Validator::make($request->all(), [
            'page' => 'integer|required',
            'per_page'=> 'integer|required'
        ]);
        if($validator->fails()){
            return $validator->errors()->all();
        }

Хотелось бы вынести во вспомогательный класс
class valid{
check($validate, $req){
$validator = Validator::make($req, $validate);
        if($validator->fails()){
            return $validator->errors()->all();
        }
}
}

и вызывать из контроллера
$valid->check(['page' => 'integer|required','per_page'=> 'integer|required'], $request->all());

Как подобное делается внутри ларавел, куда кладутся файлы и т.д
  • Вопрос задан
  • 1261 просмотр
Пригласить эксперта
Ответы на вопрос 3
Denormalization
@Denormalization
Для Laravel 5 нет смысла использовать отдельный класс для валидации (как это было в L4).

В L5 существую ValidatesRequests трейт, который можно использовать в контроллерах, и тогда появляется метод validate.

А еще лучше, использовать кастомный FormRequest класс для валидации данных.

Т.е создаем класс Http\Requests\UpdateUserProfile и наследуем его от Request.

В UpdateUserProfile прописываем 2 метода:
// Проверяем может ли пользователь делать это действие
public function authorize();
// Возвращаем массив с правилами
public function rules();


Затем в котроллере используем этот класс, допустим в методе update:
public function update(UpdateUserProfile $request);


Валидация будет происходить автоматически, без лишних телодвижений, и если она прошла, то в $request 99.999% валидные данные.

Учимся очень внимательно читать документацию.
Ответ написан
Комментировать
FMars
@FMars
В композере пишем
"files": [
        "app/helpers.php"
    ]

Потом: composer dumpautoload
Ответ написан
Комментировать
gleber1
@gleber1
Ну даже не обязательно вписывать туда . Вся APP по дефолту автоподгружается!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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