С 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 () делает то же самое.
Является ли метод инъекции лучше, чем использование Фасадов?
В методе контроллера Запрос функции впрыска всегда предпочтительнее, поскольку в некоторых методах это может помочь вам использовать проверку формы (они расширяют класс запроса по умолчанию), который будет автоматически проверять ваш запрос непосредственно перед вводом в фактический метод контроллера. Это потрясающая функция, которая помогает создавать тонкий и чистый код контроллера.
Использование ввода запроса по умолчанию делает методы вашего контроллера похожими и более простыми в обслуживании.
Также инъекция объектов всегда лучше, чем Фасады, потому что такие методы и объекты легче тестировать.
get()
и input()
– это методы разных классов. Первый – это метод запроса Symphony HttpFoundation, input()
– это метод класса запроса Laravel, расширяющий класс Symphony Request.