CakeFest 2024: The Official CakePHP Conference

Yaf_Loader::registerLocalNamespace

(Yaf >=1.0.0)

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

Description

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

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'autochargement 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 autochargements 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/'

?>
add a note

User Contributed Notes

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