Re: extended_glob
Olivier Pascal <[email protected]> Mon, 29 Mar 2004 18:06:17 +0400
| Newsgroups | gmane.comp.web.blogv2.devel |
|---|---|
| Message-ID | <[email protected]> |
Le Dimanche 28 Mars 2004 17:23, Eric Daspet a écrit : > j'ai regardé un peu le head, j'ai fait deux modifs vite fait pour virer > les ereg Ben il me servait bien moi mon timer, ça me permettait à vu d'oeil de voir en gros ce qui se passait, si le cache été chargé, si les classes étaient bien incluses, si l'initialisation se caisait assez rapidement, etc. ;-) > par contre quel est le but de extended_glob ? j'ai du mal à > voir ce qu'il apporte de plus que le glob classique. La fonction extend_glob($pattern) permet de localiser des fichiers selon le masque shell passé en paramètre. La différence par rapport à glob() est assez subtile : dans extend_glob(), le masque du fichier de base est cherché dans tous les sous-répertoires. Exemple pour extend_glob : /modules/*/lib/*.php ici la fonction cherchera les fichiers satisfaisant le masque '*.php' dans les répertoires satisfaisant le masque '/modules/*/lib' _et_ dans les sous répertoires. Ãa reviendrait à utiliser ça avec glob() : /modules/*/lib/*.php /modules/*/lib/*/*.php /modules/*/lib/*/*/*.php /modules/*/lib/*/*/*/*.php ... C'est utile pour le chargement des librairies. Ensuite, extend_glob agit comme suit : Si une extension a été spécifié dans le masque, alors le tableaux retourné sera composé de paire clés-valeurs, par exemple [IniHandler] => /lib/IniHandler.class.php [DataFile] => /lib/stockage/DataFile.class.php De cette manière __autoload n'aura juste qu'à lire la bonne clé dans le tableau pour inclure le bon fichier. -- Olivier Pascal