| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
Yaf_Loader クラス(Yaf >=1.0.0) はじめにYaf_Loader は、 Yaf 用に包括的なオートローディング機能を導入します。 最初に Yaf_Application のインスタンスを取得するときに、 Yaf_Loader はシングルトンのインスタンスを作って それを spl_autoload に登録します。このインスタンスを取得するには Yaf_Loader::getInstance() を使います。
Yaf_Loader は、クラスのロードを一度だけ試みます。
失敗した場合の挙動は yaf.use_spl_auload
によって変わります。もしこの設定が On なら
Yaf_Loader::autoload() は
デフォルトでは、Yaf_Loader はすべてのライブラリ (クラスを定義したスクリプト) が グローバル ライブラリディレクトリ に格納されているものとみなします。このディレクトリは、 php.ini (yaf.library) で指定します。 Yaf_Loader がクラス (ライブラリ) を探すときに ローカルクラスディレクトリ (application.ini で定義するもので、デフォルトは application.directory . "/library") も検索対象とさせたい場合は、クラスのプレフィックスを Yaf_Loader::registerLocalNameSpace() で登録する必要があります。 いくつか例を示します (APPLICATION_PATH は application.directory であるものとします)。 例1 設定の例 // php.ini で、これを設定しているものとします yaf.library = "/global_dir" // application.ini で、これを設定しているものとします application.library = APPLICATION_PATH "/library" 例2 localnamespace の登録
<?php 例3 クラスのロード class Foo_Bar_Test => // APPLICATION_PATH/library/Foo/Bar/Test.php class GLO_Name => // /global_dir/Glo/Name.php class BarNon_Test // /global_dir/Barnon/Test.php 例4 名前空間つきのクラスのロード class \Foo\Bar\Dummy => // APPLICATION_PATH/library/Foo/Bar/Dummy.php class \FooBar\Bar\Dummy => // /global_dir/FooBar/Bar/Dummy.php すべてのフォルダの先頭が大文字になっているのが気になる場合は、php.ini で yaf.lowcase_path = On とすれば小文字にすることもできます。 Yaf_Loader は MVC クラスを読み込むようにも作られています。 次のような規約に従います。 例5 MVC クラスのロード Controller Classes => // APPLICATION_PATH/controllers/ Model Classes => // APPLICATION_PATH/models/ Plugin Classes => // APPLICATION_PATH/plugins/ 例6 MVC クラスかどうかの区別 Controller Classes => // ***Controller Model Classes => // ***Model Plugin Classes => // ***Plugin 例7 MVC のロード class IndexController // APPLICATION_PATH/controllers/Index.php class DataModel => // APPLICATION_PATH/models/Data.php class DummyPlugin => // APPLICATION_PATH/plugins/Dummy.php class A_B_TestModel => // APPLICATION_PATH/models/A/B/Test.php また、ディレクトリは yaf.lowcase_path の影響を受けます。 クラス概要
Yaf_Loader
{
/* プロパティ */
protected
$_local_ns
;
protected
$_library
;
protected
$_global_library
;
static
$_instance
;
/* メソッド */
}プロパティ
目次
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「Yaf_Loader クラス」をGoogle検索
|