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', []);
});
その他のより良い方法を思いついたそうです
この種の習慣は扱いにくく、維持するのが難しいことに注意してください。ハードコードされたコントローラでルートを書き込む必要があります。 –
@Ole、それは私が聞きたかったコメントのようなものですが、なぜそうですか?私の視点からは、時間とメンテナンスが節約され、私はもうルートに触れる必要はありません! – Glasnhost
ソースコード構造を調べることでビュー内にURLを生成しなければならないため、何らかの理由でソースコードを変更するときにはすべてのURLを変更する必要があります。 –