Autoloader 类別
Autoloader 类別包含 Fuel 的自动載入器函式,它也提供了與自动載入程序互动的方法。
add_namespace($namespace, $path, $psr = false)
add_namespace 方法添加一个命名空間與路徑。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$namespace |
必要 |
命名空間 |
$path |
必要 |
指向命名空間的路徑 |
$psr |
false
|
設定为 true 以表示这是一个 PSR-0 兼容的命名空間。 |
|
回傳 |
無 |
範例 |
Autoloader::add_namespace('Mynamespace', PKGPATH.'mynamespace/');
// 巢狀的命名空間,注意雙反斜線
Autoloader::add_namespace('Nested\\Namespace', PKGPATH.'nested/');
|
add_namespaces($namespace, $prepend = false)
add_namespaces 方法添加一个命名空間陣列。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$namespace |
必要 |
命名空間的陣列 |
$prepend |
false |
設定为 true 如果你想附加在前。 |
|
回傳 |
無 |
範例 |
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 |
必要 |
指向类別档案的路徑 |
|
回傳 |
無 |
範例 |
Autoloader::add_class('Namespace\\Class', PKGPATH.'namespace/classes/class.php');
|
add_classes($classes)
add_class 方法添加一个类別陣列。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$classes |
必要 |
类別陣列 |
|
回傳 |
無 |
範例 |
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 |
'' |
要使用別名的命名空間 |
|
回傳 |
無 |
範例 |
Autoloader::alias_to_namespace('Mynamespace\\Myclass');
// 指向命名空間的別名
Autoloader::alias_to_namespace('Mynamespace\\Myclass', 'Other\\Namespace\\');
|
add_core_namespace($namespace, $prefix = false)
add_core_namespace 方法添加一个命名空間給可能沒有命名空間前綴的类別,
并且会自动別名到全域的命名空間。前綴类別将覆寫核心类別與先前添加的命名空間。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$namespace |
必要 |
命名空間 |
$prefix |
false |
設定为 true 以前綴命名空間 |
|
回傳 |
無 |
範例 |
Autoloader::add_core_namespace('Mynamespace');
|
load($class)
load 方法试圖尋找、載入类別,如存在時觸发它的 _init 函式。
靜態 |
是 |
參数 |
|
回傳 |
無 |
範例 |
Autoloader::load('Model_Users');
|
程序助手
import($path, $folder = 'classes')
import 函式導入一个在 COREPATH 的 PHP 档案。
參数 |
參数 |
类型 |
預設 |
描述 |
$path |
字串 |
必要 |
指向档案的路徑 |
$folder |
字串 |
'classes'
|
要前綴路徑的文件夾,相對於 COREPATH |
|
回傳 |
字串 |
範例 |
// 導入 Spyc
import('spyc/spyc', 'vendor');
|