Я запутался по поводу маршрутизации в laravel

в маршрутах. мы пишем какой-то маршрут для контроллера. такие как:

Route::post('/account/create',array(
'as' =>'account-create',
'uses'=>'AccountController@postCreate'
));

Я знаю, что «использует» — это поиск контроллера, с чем же «как» имеет дело?

0

Решение

as используется для создания named-route в Ларавелле.

Как the doc says:

мы можем использовать их для ссылки на маршрут при создании URL-адресов или перенаправлений:

//generate URL
$url = URL::route('account-create');
//redirect to the route from another
$redirect = Redirect::route('account-create');

// with helpers
$url = route('account-create');
$redirect = redirect()->route('account-create');
4

Другие решения

as предназначен для создания именованных маршрутов, и на самом деле это очень полезно. В вашем приложении вы можете создать URL или перенаправление, используя этот именованный маршрут URL::route('account-create'); а также Redirect::route('account-create'); и это дает вам огромный бонус.

Если вы решите, что хотите изменить свой URL, вы просто измените его в своем маршруте, и все будет работать без проблем, потому что в других частях вы использовали только имя маршрута.

Так, например, если вы используете именованные маршруты:

Route::post('/account/create',array(
'as' =>'account-create',
'uses'=>'AccountController@postCreate'
));

и в других частях URL::route('account-create'); а также Redirect::route('account-create'); и теперь вы решили, что хотите изменить URL-адрес с /account/create в newaccount вам нужно изменить только в routes.php /account/create в newaccount и все ваше приложение будет работать без проблем

Напротив, если вы использовали URL-адреса в другой части вашего приложения, если вы хотите изменить этот URL-адрес маршрута, вам потребуется изменить URL-адреса во многих частях вашего приложения, поэтому вам следует использовать именованные маршруты, поскольку это может сэкономить вам огромное количество времени, если Вы решили изменить некоторые URL в будущем.

Например, если вы не используете named-маршруты:

Route::post('/account/create',array(
'uses'=>'AccountController@postCreate'
));

и в других частях URL::to('/account/create'); а также Redirect::to('/account/create'); и теперь вы решили изменить свой URL с /account/create в newaccount вам нужно будет изменить его не только в routes.php файл, но во всех файлах, которые используют этот URL, где вы делаете любой URL::to('/account/create'); или же Redirect::to('/account/create');

0

По вопросам рекламы [email protected]