我正在尝试命名我的路线,这样我就可以轻松生成网址,而不是使用我必须自己键入的网址助手功能。
我这样做:
Route::get('logout', 'PageController@logout')->name('pc');
当我执行 php artisan route:list 时,我没有得到这个命名路线,而是名称列为空。
我想要的是,无论我通过此控制器定位的任何视图。我想像这样生成他们的网址。
route('pc.logout') OR route('pc.some_other_action')
因此,即使我更改动词以从URL地址访问此控制器,我也不必更改我的URL生成器。这在Laravel甚至可能吗?还请告诉如何为资源路由执行此操作。
我使用的是Laravel 5.3。
感谢。
编辑:第二天1/11/2017
我期待的是,就像ASP.NET MVC路由一样,如果我告诉它生成具有给定控制器和动作的url,它将生成到它的可能路由,而不管用于命名路由的动词或字符串。
例如
如果我像这样制作一个网址
route('users.index')
输出 / users
但如果我将字符串名称用户更改为u,而不是给我错误名称'users'不存在它应该自动生成这样的url输出:
输出: / u
这是ASP.NET MVC路由系统的一部分,我期待在这里看到这一点。
答案 0 :(得分:1)
你应该这样写这将解决你的问题
Route::get('logout', array('as' =>'pc.logout' ,'uses' => 'PageController@logout'));
这可能会解决您的问题
答案 1 :(得分:0)
name('pc.logout') OR name('pc.some_other_action')
你可以试试这个。
这是一种更简单的使用方式:
Route::get('logout', 'PageController@logout')->name('pc.logout');
或者像这样:
Route::get('logout', 'PageController@logout')->name('pc.some_other_action');
如果这是错误的,你可以进一步解释。
答案 2 :(得分:0)
您可以将命名路线定义为此
Route::get('/logout',[
'uses'=>'web\PageController@logout',
'as'=>'pc'
]);
答案 3 :(得分:0)
试试这个:
<?php
Route::get('logout',[
'uses'=>'PageController@logout',
'as'=>'pc.logout'
]);