Подтвердить что ты не робот

Laravel Request input() или get()

С Laravel 5 кажется, что инъекция метода для объекта Request предпочтительнее использования фасада запроса.

<?php namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    public function index(Request $request)
    {
        $email = $request->input('email');

        // OR

        $email = $request->get('email');
    }
}

Несколько вопросов, которые у меня есть:

Использует Illuminate\Http\Request лучше, чем использование Illuminate\Support\Facades\Request

Я понятия не имею, как разрешается $request- > get(), поскольку в Illuminate\Http\Request нет имени функции get(). input() и get() делает то же самое.

Является ли метод инъекции лучше, чем использование Фасадов?

4b9b3361

Ответ 1

В методе контроллера Запрос функции впрыска всегда предпочтительнее, поскольку в некоторых методах он может помочь вам использовать проверку форм (они расширяют класс запроса по умолчанию), который будет автоматически проверять ваш запрос непосредственно перед вводом в фактический метод контроллера. Это потрясающая функция, которая помогает создавать тонкий и чистый код контроллера.

Использование ввода запроса по умолчанию делает методы вашего контроллера похожими и упрощенными.

Инъекция объекта всегда лучше, чем Фасады, потому что такие методы и объекты легче тестировать.

get() и input() - это методы разных классов. Первый - это метод запроса Symphony HttpFoundation, input() - это метод класса запроса Laravel, расширяющий класс Symphony Request.