Appホームディレクトリ取得モジュールApp::Home
最終更新日 : 2011-01-24 23:01:52
アプリケーション作成時には、システムの配備情報を扱うために、アプリケーションホームディレクトリを取得する必要が、必ずでてきます。そのソースをフレームワークを作る毎に作成するのがめんどくさいので App::Home というのをさっき暇つぶしに作成し,githubに上げました。もしかしたらすでにそういうモジュールがあるのかもしれません。
まず継承する
利用する。get()メソッドしか使い道はないです。Path::Class::Dir のobjectを返します。また、シングルトンで実装されているので、一度呼べば後速いですし、同じ値を返すことを約束しています。
Homeディレクトリ取得ロジックは、ikebeさんの作成したPicklesのPickles::Configのhomeを見つけるロジックがいい感じなので、そこからソースを盗んで実装しています。環境変数を探して見つからなければ、アプリケーション::Homeライブラリの配備位置から取得する感じになっています。
homeディレクトリを見つけるという単純なことなのですが、フレームワークを作成する際には必ず必要になる重要な機能です。お家は大切なのでたまには親孝行しようということでした。
利用方法
まず継承する
package MyApp::Home; use parent 'App::Home'; 1;
利用する。get()メソッドしか使い道はないです。Path::Class::Dir のobjectを返します。また、シングルトンで実装されているので、一度呼べば後速いですし、同じ値を返すことを約束しています。
my $home = MyApp::Home->get();
Home発見ロジック
Homeディレクトリ取得ロジックは、ikebeさんの作成したPicklesのPickles::Configのhomeを見つけるロジックがいい感じなので、そこからソースを盗んで実装しています。環境変数を探して見つからなければ、アプリケーション::Homeライブラリの配備位置から取得する感じになっています。
あとがき
homeディレクトリを見つけるという単純なことなのですが、フレームワークを作成する際には必ず必要になる重要な機能です。お家は大切なのでたまには親孝行しようということでした。