Clases de carga automática de diferentes carpetas

Así es como autocargo todas las clases en micontrollers carpeta,

# 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);
    }

Pero tengo clases enmodels carpeta también y quiero cargarlos automáticamente también, ¿qué debo hacer? ¿Debo duplicar la carga automática anterior y simplemente cambiar la ruta amodels/ (¿pero no es esto repetitivo?)

Gracias

EDITAR

estos son mis nombres de archivo de clases en la carpeta del controlador:

class_controller_base.php
class_factory.php
etc

estos son mis nombres de archivo de clases en la carpeta del modelo:

class_model_page.php
class_model_parent.php
etc

esta es la forma en que generalmente llamo a mi clase de clases de controlador (uso guiones bajos y minúsculas),

class controller_base 
{
...
}

class controller_factory
{
...
}

esta es la forma en que generalmente llamo a mi clase de clases modelo (uso guiones bajos y minúsculas),

class model_page 
    {
    ...
    }

    class model_parent
    {
    ...
    }

Respuestas a la pregunta(12)

Su respuesta a la pregunta