Yaf_Loader::registerLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::registerLocalNamespaceEnregistre le préfixe local de la classe

Description

public void Yaf_Loader::registerLocalNamespace ( mixed $prefix )

Enregistre le préfixe local de la classe ; Yaf_Loader va chercher les classes dans deux dossiers de bibliothèques : celui configuré via la directive de configuration application.library.directory(dans le fichier application.ini) qui est appelé 'dossier local de bibliothèques' et l'autre, configuré via la directive yaf.library (dans le fichier php.ini) qui est appelé 'dossier global de bibliothèques', vu qu'il peut être partagé par plusieurs applications sur le même serveur.

Lorsque l'auto-chargement est appelé, Yaf_Loader va déterminer quel dossier de bibliothèques la recherche doit s'effectuer en examinant le préfixe du nom de la classe demandée. Si le préfixe est enregistré comme local, alors la recherche se fera dans le dossier local de bibliothèques, sinon, la recherche se fera dans le dossier global de bibliothèques.

Note:

Si yaf.library n'est pas configuré, alors le dossier global de bibliothèques sera le dossier local de bibliothèques. Dans ce cas, tous les auto-chargements rechercheront les classes dans le dossier local de bibliothèques. Mais si vous voulez renforcer votre application Yaf, il est conseillé de toujours enregistrer vos propres classes comme classes locales.

Liste de paramètres

prefix

une chaîne ou un tableau de noms de préfixe de classe. Toutes les classes dont le préfixe est local seront chargées depuis un chemin vers une bibliothèque locale.

Valeurs de retour

Un booléen.

Exemples

Exemple #1 Exemple avec Yaf_Loader::registerLocalNamespace()

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

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

?>
LoadingChargement en cours