В Laravel вы можете полностью пропустить контроллеры и выполнить задачу по выполнению бизнес-логики и генерации представления в маршрутах, например:
Route::get('/users',function()
{
$users = User::All(); //select * from users
return view('users')->with('users', $users);
}
Итак, для обработки запроса /users
мы вообще не использовали контроллер, и вы вполне можете сделать это для обработки всех запросов в вашем приложении, как получения, так и отправки.
Laravel позволяет вам выполнять свою работу в замыкании (function(){})
вместо привязки его к контроллеру. В любом случае, это позволяет, но вам лучше этого избежать.
Но тогда, если ваше приложение большое и имеет более 100 URL-адресов со сложной бизнес-логикой, тогда представьте, что все помещается в один маршрутизацию / web.php. Это сделает его преступно грязным, и вся цель архитектуры MVC будет побеждена. Поэтому мы обычно резервируем web.php
только для маршрутизации и пишем всю бизнес-логику (вместе с генерацией представлений внутри контроллеров).
В Route::get()
вам нужно только следовать своей «маршрутизации» и ничего более.
Нет никаких причин использовать обратные вызовы в Route (кроме как для тестирования или некоторых тривиальных запросов). Так что лучше этого избежать:
Изменить этот код:
Route::get("/", function(){
return view("front.index");
});
К этому:
Route::get ('/', 'MyController@index');
А внутри вашего контроллера:
class MyController extends Controller
{
function index()
{
return view("front.index");
}
}
Надеюсь, это поможет.