Re: Architecture des dossiers
Olivier Pascal <[email protected]> Mon, 22 Mar 2004 17:10:20 +0400
| Newsgroups | gmane.comp.web.blogv2.devel |
|---|---|
| Message-ID | <[email protected]> |
Le Dimanche 21 Mars 2004 23:14, Eric Daspet a écrit :
> Olivier Pascal wrote:
> > /lib
> > pour les diverses classes natives, utilisables par tous les modules.
> > Exemple : IniHandler, DataFile, Controler, Module, etc. On peut
> > éventuelement gérer des catégories de classes avec des sous-dossiers,
> > exemple : /lib/Security, /lib/Sql, etc.
>
> Les sous répertoires sont possibles mais ils impliquent alors de charger
> les définitions de classe manuellement, sans l'auto-load (qui ne
> pourrait pas savoir dans quel répertoire aller.
J'ai déjà réfléchi à une solution (pas forcemment la plus adaptée) :
PremiÚre étape, repérer les différentes classes par leurs paths avec
respectivement glob('/lib/*.class.php') et glob('/lib/*/*.class.php').
DeuxiÚme solution pour gérer plus de niveaux, on parcours manuelement par
récurrence les sous-dossiers.
DeuxiÚme étape, fusionner les deux tableaux formés (si on a utilisé glob()),
exemple :
SqlTruc => ./lib/sql/SqlTruc.class.php
IniMachin => ./lib/conf/IniMachin.class.php
TroisiÚme étape, définir la fonction __autoload qui lit directement dans le
tableau la bonne clé pour l'associer au bon path.
Maintenant il faut trouver un bon compromis entre la flexibilité et la
rapidité d'exécution même si perso je pense que le temps de parcours par
récurrence des sous-répertoires est négligeable.
--
Olivier Pascal