2016-10-30 14 views
0

私は、規則に基づいて簡単なルーティングシステムをセットアップしようとしています。 私のアプリは、私がweb.phpファイルに手動でルートを追加することなく、新しいフォルダとコントローラを追加できるようにしたいlaravelルーティングに基づいて

Http 
--Controllers 
----Admin 
------User.php 
----Books 
------Add.php 
----etc... 

このような構造を持つことになります。 たとえば、User.phpコントローラで/ Admin/User URLに応答するルートを設定します。

私はこのような何かをしようとしているが、私は内部ルータの書き方を理解していない...

Route::any('/{module}/{action?}', function($module, $action = 'index') { 
    Route::get('*',$module.'\'.$action.'@index'); 
}); 

敗走のようだ:(「*」を取得...一致したことはありません。

PSコントローラの名前空間が正しいと私は作曲がリロード。harcoded呼び出された場合 コントローラが動作します。

私は「\」エスケープすることも

を試してみました

結果はありません。ルートは傍受が、何も私は

私がこの

Route::get('/{module}/{action}', function($module,$action) { 

    return App::make('\App\Http\Controllers\\' 
        .$module.'\\'.$action)->callAction('index', []); 

    }); 

その他のより良い方法を思いついたそうです

答えて

0

を提供していませんか?

+2

この種の習慣は扱いにくく、維持するのが難しいことに注意してください。ハードコードされたコントローラでルートを書き込む必要があります。 –

+0

@Ole、それは私が聞きたかったコメントのようなものですが、なぜそうですか?私の視点からは、時間とメンテナンスが節約され、私はもうルートに触れる必要はありません! – Glasnhost

+0

ソースコード構造を調べることでビュー内にURLを生成しなければならないため、何らかの理由でソースコードを変更するときにはすべてのURLを変更する必要があります。 –

関連する問題