0

私はCMSを構築しており、ルートに関してはより良いアプローチを使用しようとしています. 「ページ」コントローラーと、「作成」、「編集」、「削除」のメソッドがあるとします。それらの URI は次のようになります。

admin/pages/create
admin/pages/edit
admin/pages/delete

ルートをハードコードすることはできますが、すべて問題ありませんが、すぐに混乱してしまいます。いろいろ検索したところ、以下のコードを見つけました。

Route::any('admin/(.*)', array('defaults' => 'index', 'uses' => 'admin.METHOD@(:1)'));

アイデアは、URL からメソッドを検出し、「admin.METHOD@」に置き換えることです。コードはリクエストを処理し、それを正しいコントローラー メソッドに転送しますが、その方法がわかりません。

どんな助けでも完璧です。

4

3 に答える 3

0

「Controller::detect メソッドは、アプリケーション用に定義されたすべてのコントローラーの配列を返すだけです。」- Laravel 3 ドキュメント

Route::controller(Controller::detect());
于 2013-05-01T22:08:10.033 に答える
0

理想的には、これを落ち着いて処理し、HTTP 動詞 (リクエスト メソッド) ごとに異なるルートを設定する必要があります。そこから、すべてのトラフィックを 1 つのコントローラーを介して送信するだけかもしれません。

// Create
Route::post('admin/(:any)', 'your_controller@(:1)');

// Edit
Route::put('admin/(:any)', 'your_controller@(:1)');

// Delete
Route::delete('admin/(:any)', 'your_controller@(:1)');

ここから、コントローラーは、処理したいすべての異なるタイプのメソッドを定義できます。post_pages()、put_modules()、delete_entries() など。

于 2013-05-01T22:16:24.457 に答える