Classes d'Autoload à partir de différents dossiers

C'est ainsi que j'autoload toutes les classes dans mon controllers dossier

# auto load controller classes
    function __autoload($class_name) 
    {
        $filename = 'class_'.strtolower($class_name).'.php';
        $file = AP_SITE.'controllers/'.$filename;

        if (file_exists($file) == false)
        {
            return false;
        }
        include ($file);
    }

Mais j'ai des cours en models dossier et je tiens à autoload trop - que dois-je faire? Si je dois dupliquer l'autoload ci-dessus et changer le chemin à models/ (mais n'est-ce pas répétitifs??)?

Merci.

EDIT:

ce sont les noms de fichiers de mes classes dans le dossier du contrôleur:

class_controller_base.php
class_factory.php
etc

ce sont mes fichiers de classes les noms dans le modèle de dossier:

class_model_page.php
class_model_parent.php
etc

c'est comme ça que je nomme habituellement mes classes de controller (j'utilise les underscores et les lowcaps),

class controller_base 
{
...
}

class controller_factory
{
...
}

c'est comme ça que je nomme habituellement ma classe model classes (j'utilise les underscores et les lowcaps),

class model_page 
    {
    ...
    }

    class model_parent
    {
    ...
    }
41
demandé sur laukok 2011-03-12 06:26:18

12 réponses

vous devriez nommer vos classes de sorte que le soulignement (_) se traduit par le séparateur de répertoire (