Laravel 4 で API を作成しています。クエリ文字列パラメーターをコントローラーに渡したいと思います。具体的には、次のようなものを許可したい:
api/v1/account?fields=email,acct_type
クエリ パラメータは、次のようなシグネチャを持つルーティング コントローラ メソッドに渡されます。
public function index($cols)
routes.php のルートは次のようになります。
Route::get('account', 'AccountApiController@index');
Route::controller
明快さと柔軟性のために ( orを使用するのではなくRoute::resource
) すべてのルートを手動で指定しており、常にコントローラーとメソッドにルーティングしています。
「フィールド」クエリ文字列要素を配列$cols
に分離する (グローバル) ヘルパー関数を作成しましたが、すべてのコントローラーのすべてのメソッド内でその関数を呼び出すことは DRY ではありません。$cols
変数をすべてのRoute::get
ルートのコントローラー メソッドに効果的に渡すにはどうすればよいですか? または、より一般的には、ルート (またはルートのグループ) を介してクエリ文字列から 1 つまたは複数の追加パラメーターをコントローラー メソッドに効率的に渡すにはどうすればよいでしょうか? フィルターの使用を考えていますが、それは少し適応外のようです。