Laravel命名为routing |自动生成的URL,以最佳匹配

问题描述:

我想我的名字路由,以便我可以很容易地生成URL,而不是使用中,我必须输入自己的网址助手功能。Laravel命名为routing |自动生成的URL,以最佳匹配

我这样做:

Route::get('logout', '[email protected]')->name('pc'); 

当我做PHP工匠路线:列表我没有得到这个命名的路由,而不是名称列是空的。

我想那是什么,不管我的意见通过这个控制器目标。我想要这样生成他们的网址。

route('pc.logout') OR route('pc.some_other_action') 

所以即使我改变动词从URL地址访问这个控制器,我不必改变我的url生成器。这在Laravel中甚至可能吗?还请告诉如何为资源路线执行此操作。

我使用Laravel 5.3。

感谢。

编辑:第二天,2017年1月11日

我所期待的是,像ASP.NET MVC的路由,如果我告诉它来生成与给定的控制器和操作的网址,就会产生可能的路径不管用于命名路线的动词或字符串如何。

例如

如果我作出这样

route('users.index') 

输出/用户

一个网址,但如果我改变字符串名用户U,而不是给我错误名“用户”不存在,它应该自动生成一个URL输出是这样的:

输出:/u

这是ASP.NET MVC路由系统的一部分,我也期待在这里看到这个。

+0

路线::得到( '注销',阵列( '使用'=> '的PageController @注销', '为'=> 'PC'));像这样尝试。 – Sona

你应该写这这将解决您的问题

Route::get('logout', array('as' =>'pc.logout' ,'uses' => '[email protected]')); 

这可能会解决你的问题

+0

更新了我的问题 – Waleed

name('pc.logout') OR name('pc.some_other_action') 

你可以试试这个。

它是用更简单的方法:

Route::get('logout', '[email protected]')->name('pc.logout'); 

或者这样:

Route::get('logout', '[email protected]')->name('pc.some_other_action'); 

你能进一步解释,如果这是错误的。

可以定义命名的路线,因为这

Route::get('/logout',[      

'uses'=>'web\[email protected]', 

'as'=>'pc'      

]);

尝试这种情况:

<?php 
Route::get('logout',[ 
    'uses'=>'[email protected]', 
    'as'=>'pc.logout'      
]);