Autoloader クラス
Autoloader クラスは Fuel の自動読み込み機能です。自動読み込み処理に影響するメソッドも提供します。
add_namespace($namespace, $path, $psr = false)
add_namespace メソッドは名前空間とそのパスを追加します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$namespace |
必須 |
名前空間 |
$path |
必須 |
名前空間のパス |
$psr |
false
|
PSR-0 に準拠した名前空間である場合は、 true をセットします。 |
|
返り値 |
Void |
例 |
Autoloader::add_namespace('Mynamespace', PKGPATH.'mynamespace/');
// 入れ子になっている名前空間は、二重のバックスラッシュを付ける
Autoloader::add_namespace('Nested\\Namespace', PKGPATH.'nested/');
|
add_namespaces($namespace, $prepend = false)
add_namespaces メソッドは名前空間の配列を付け加えます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$namespace |
必須 |
名前空間の配列。 |
$prepend |
false |
配列の先頭に加えたいなら true にします。 |
|
返り値 |
Void |
例 |
Autoloader::add_namespaces(array(
'Mynamespace' => PKGPATH.'mynamespace/',
'Othernamespace' => PKGPATH.'othernamespace/',
));
|
namespace_path($namespace)
namespace_path メソッドは名前空間のパス名を取得します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$namespace |
必須 |
名前空間 |
|
返り値 |
名前空間のパス。存在しない時は false が返ります。 |
例 |
// /path/to/mynamespace/
$path = Autoloader::namespace_path('Mynamespace');
// false
$path = Autoloader::namespace_path('Unknown\\Namespace');
|
add_class($class, $path)
add_class メソッドはクラスのパスを付け加えます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$class |
必須 |
クラス名 |
$path |
必須 |
当該クラスのパス |
|
返り値 |
Void |
例 |
Autoloader::add_class('Namespace\\Class', PKGPATH.'namespace/classes/class.php');
|
add_classes($classes)
add_class メソッドはクラスの配列を追加します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$classes |
必須 |
クラスの配列 |
|
返り値 |
Void |
例 |
Autoloader::add_classes(array(
'Namespace\\Class' => PKGPATH.'namespace/classes/class.php',
'Namespace\\Other' => PKGPATH.'namespace/classes/other.php',
));
|
alias_to_namespace($class, $namespace = '')
alias_to_namespace メソッドはクラスに名前空間の別名を与えます。初期設定はルートです。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$class |
必須 |
クラス名 |
$namespace |
'' |
別名としたい名前空間 |
|
返り値 |
Void |
例 |
Autoloader::alias_to_namespace('Mynamspace\\Myclass');
// 名前空間の別名を付ける
Autoloader::alias_to_namespace('Mynamspace\\Myclass', 'Other\\Namespace\\');
|
add_core_namespace($namespace, $prefix = false)
add_core_namespace メソッドは、名前空間のプレフィックス無しで使われるかもしれないクラスに対して、グローバル名前空間の別名となる名前空間を付けます。
クラスにプレフィックスを付けると、コアクラスとそれまで付けられていた種々の名前空間をそのプレフィックスを付けて上書きします。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$namespace |
必須 |
名前空間 |
$prefix |
false |
名前空間にプレフィックスを付けたいときは true を設定してください。 |
|
返り値 |
Void |
例 |
Autoloader::add_core_namespace('Mynamespace');
|
load($class)
load メソッドは、当該クラスの探査を試み、読み込み、_init メソッドが存在した場合はそれを動作させます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$class |
必須 |
クラス名 |
|
返り値 |
Void |
例 |
Autoloader::load('Model_Users');
|
処理ヘルパー
import($path, $folder = 'classes')
import 関数は COREPATH 内の php ファイルをインポートします。
パラメータ |
パラメータ |
型 |
デフォルト |
説明 |
$path |
string |
必須 |
ファイルパス |
$folder |
string |
'classes'
|
パスの前に付けるフォルダ。COREPATH からの相対パス |
|
返り値 |
string |
例 |
// Spyc をインポートする
import('spyc/spyc', 'vendor');
|