CakeFest 2024: The Official CakePHP Conference

Yaf_Loader::registerLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::registerLocalNamespaceローカルクラスプレフィックスを登録する

説明

public Yaf_Loader::registerLocalNamespace(mixed $prefix): void

ローカルクラスプレフィックスを登録します。 Yaf_Loader がクラスを探すときには、二つのライブラリディレクトリを探します。 一方は application.ini の application.library.directory(in で設定したもので、これをローカルライブラリディレクトリと呼びます。 もう一方は php.ini の yaf.library で設定したもので、これをグローバルライブラリディレクトリと呼びます。 同一サーバー内のいろんなアプリケーションで共有できるからです。

オートロード時に、Yaf_Loader がどちらのライブラリディレクトリを探すのかを判断します。 その際には、存在しないクラス名のプレフィックスを判断材料にします。 プレフィックスの名前が localnamespace として登録されていれば ローカルライブラリディレクトリから探し、そうでなければグローバルライブラリディレクトリから探します。

注意:

yaf.library が設定されていない場合、グローバルライブラリディレクトリは ローカルライブラリディレクトリと同じ場所であるとみなします。 その場合、オートロード時にはすべてローカルライブラリディレクトリを探します。 Yaf アプリケーションを強くするには、 自分のクラスはローカルクラスとして登録するようにしましょう。

パラメータ

prefix

クラス名のプレフィックスを表す文字列あるいは配列。 ローカルライブラリパスにある、このプレフィックスを含むすべてのクラスが読み込まれます。

戻り値

bool

例1 Yaf_Loader::registerLocalNamespace() の例

<?php
$loader
= Yaf_Loader::getInstance('/local/library/', '/global/library');
$loader->registerLocalNamespace("Baidu");
$loader->registerLocalNamespace(array("Sina", "Weibo"));

$loader->autoload("Baidu_Name"); // search in '/local/library/'
$loader->autoload("Sina"); // search '/local/library/'
$loader->autoload("Global_Name");// search in '/global/library/'
$loader->autoload("Foo_Bar"); // search in '/global/library/'

?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top