Dutch PHP Conference 2027

Yaf_Loader::registerLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::registerLocalNamespaceEnregistre un namespace local

Description

public function Yaf_Loader::registerLocalNamespace(string|array $namespace, string $path = null): Yaf_Loader|false

Enregistre un namespace local. Les classes dont le préfixe appartient à un namespace local sont recherchées dans le chemin fourni (ou dans le répertoire de la bibliothèque locale si aucun chemin n'est fourni) au lieu du répertoire global.

Cela permet de placer ses propres classes dans le répertoire de la bibliothèque locale, tandis que les classes partagées résident dans le répertoire de la bibliothèque globale (voir la directive ini yaf.library).

Liste de paramètres

namespace

Une chaîne de préfixe de namespace, ou un tableau de paires préfixe/chemin (lorsque la valeur est une chaîne de chemin) ou de chaînes de préfixes.

Un préfixe ne correspond qu'à une frontière marquée par un tiret bas ou un antislash : enregistrer Models rend Models_User et Models lui-même locaux, mais pas ModelsUser. Un antislash initial est ignoré, et un nom de classe écrit avec des antislashs est recherché comme s'il s'agissait de tirets bas.

path

Le répertoire dans lequel rechercher le namespace. S'il n'est pas fourni, le répertoire de la bibliothèque locale est utilisé.

Valeurs de retour

Retourne l'instance du chargeur elle-même en cas de succès, ou false si un paramètre invalide est fourni.

Exemples

Exemple #1 Exemple avec Yaf_Loader::registerLocalNamespace()

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract
{
    public function _initLoader()
    {
        $loader = Yaf_Loader::getInstance();

        /* Models_User est désormais recherchée dans
         * APPLICATION_PATH/library/Models/User.php */
        $loader->registerLocalNamespace("Models");

        /* enregistre plusieurs préfixes à la fois, chacun avec
         * son propre répertoire de recherche */
        $loader->registerLocalNamespace(array(
            "Services" => APPLICATION_PATH . "/services",
            "Vendor"   => APPLICATION_PATH . "/vendor",
        ));
    }
}
?>

Voir aussi

add a note

User Contributed Notes

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