1

ルートのグループに名前を付けることはできますか?

何かのようなもの:

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
}

ナビメニュー用です。

4

2 に答える 2

0

最初の例を使用してグループに名前を付けることはできませんが、別の方法でそれを行うことができると思います (私の考えを共有し、正しいか間違っているかはわかりません)。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が呼び出され、パラメータは次を使用してアクセス可能になり、記述すれば残りはわかります。applefruitsGreen$argshttp://yourdomain.dev/fruits/banana

于 2013-05-02T01:19:36.990 に答える