9

laravel 4 では、フィルター全体をクロージャー内に配置する代わりに、フィルター クラスを作成できます。しかし、これらのフィルターは完全にapp/filters.phpor内にある必要がありapp/routes.phpますか?

通常、私はクラスごとに 1 つのファイルを作成するのが好きですが、filters.php ファイルに多数のインクルードを作成するよりも、もっと良い方法があると思います。これらをlaravelが自動的に見つけられるようにするには、これらをどこに置きますか? 例えば:

Route::filter('Thing', 'ThingFilter');

# can I put this in its own file and have laravel automatically use it?
class ThingFilter {
    function filter() { ... }
}
4

2 に答える 2

6

私の知る限りデフォルトはありませんが、呼び出しClassLoader::addDirectories(array(app_path().'/filters'));てフィルターディレクトリを登録できます。これを配置する正しい場所は、app/start/global.phpいくつかのフォルダーが既に登録されていることを確認できる場所です。

候補と思われる「local.php」がありますが、これは特定の環境 (通常は開発、適切な配列またはクロージャを追加する場合) のみを対象としています$app->detectEnvironment()

于 2013-04-26T01:06:05.603 に答える