![](/img/trans.png)
[英]Laravel localization and named routes in case of nested Route::group's
[英]Laravel Named Group Routes
是否可以命名一組路由?
就像是:
Route::group(array('as'=>'fruits'), function(){
Route::get('apple', array('as'=>'apple','uses'=>'fruits@apple'));
Route::post('apple', array('uses'=>'fruits@editapple'));
Route::get('pear', array('as'=>'pear', 'uses'=>'fruits@pear'));
});
然后通過執行以下操作檢查URL是否為“水果”:
if (Request::route()->is('fruits')){
// One of the "fruits" routes is active
}
還是我必須:
Route::get('fruits/apple', array('as'=>'apple','uses'=>'fruits@apple'));
Route::post('fruits/apple', array('uses'=>'fruits@editapple'));
Route::get('fruits/pear', array('as'=>'pear', 'uses'=>'fruits@pear'));
然后檢查:
if(URI::is('fruits/*')){
//"fruits" active
}
這是一個導航菜單。
無法查看您使用的是Laravel 3還是Laravel4。使用Laravel 4,您可以使用Route Prefixing
Route::group(array('prefix' => 'fruits'), function()
{
Route::get('apple', array('as'=>'apple','uses'=>'fruits@apple'));
Route::post('apple', array('uses'=>'fruits@editapple'));
Route::get('pear', array('as'=>'pear', 'uses'=>'fruits@pear'));
});
你可以用這個檢查一下
if(Request::is('fruits/*')) {
// One of the "fruits" routes is active
}
當您使用Laravel 3時,我認為您必須創建一個名為Fruits的捆綁包,以便使用url前綴。
然后您可以通過這種方式檢查活動路線
if(URI::is('fruits/*')){
//"fruits" active
}
您不能使用第一個示例來命名組,但我認為您可以做到,但是可以用另一種方式(共享我的想法,不知道是非),僅在version 3
進行了測試
routes.php文件
Route::any('/fruits/(:any)', function($fruite){
// Pass a parameter to the method, for example (demo purpose only)
$param_for_method = $fruite == 'apple' ? 'Green' : 'Yellow';
// Call the controller method, $fruite will represent (:any)
Controller::call("fruits@$fruite", array($param_for_method));
});
您的控制器:
class Fruits_Controller extends Base_Controller
{
public function action_apple($args)
{
//
}
public function action_banana($args)
{
//
}
// you can create as many fruit's method as you want
}
現在,如果我們編寫http://yourdomain.dev/fruits/apple
它將從我們的fruits
控制器調用apple
方法,並且如果使用http://yourdomain.dev/fruits/banana
,則該參數將是Green
,可以使用$args
訪問http://yourdomain.dev/fruits/banana
那么您就知道了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.