2013-05-03 30 views
5

私はlaravel-4 PHPのMVCフレームワークでアプリを開発しています、私は私が行って、一般的なコーディング作業のために、ユーティリティクラスのいくつかの種類を開発したいんだLaravel 4のAppユーティリティクラス

のような:画像アップロード、画像のリサイズなど...一般的なアプリケーションタスク

は、ベースコントローラクラスでこのすべてを置くためのベストプラクティスですか?イムない思考、または私はこれを構造化し、ベストプラクティスの中でそれを維持するための最良の方法のわからないんだけど、別

UTILL::UtilityFunction(); 
// or 
APP:UtilityFunction(); 

を定義しますか?

答えて

14

あなたはヘルパークラスについて話していますよね?クラスを作成して、必要なことをするだけでなく、アプリケーションに意味を持たせる必要があります。具体的にする必要があります。小さなクラスを作成して画像を作成したり、ファイルをアップロードするのに実際に小さい両方を行う1つのユーティリティクラスは良くありません。それらの記事を見てください:http://guru-php.com/blog/2008/08/128003/http://blogs.msdn.com/b/nickmalik/archive/2005/09/06/461404.aspx

同じロジックを使用する:すべてのコントローラに関連するBaseControllerにメソッドを追加する必要があります。

ユーティリティクラスを作成するには、新しいディレクトリ(app/libraryなど)を作成し、クラスを作成してapp/start/global.php、ClassLoader :: addDirectories()リスト、 Laravel 4は自動的にそれらを自動的に読み込みます。または、autoload/classmapセクションを使用してcomposer.jsonに追加してから、coposer dump-autoloadを実行して自動ロードすることもできます。