Oi Claudio, tudo bom?
Uma possibilidade é realizar verificações para cada diretório:
if (is_file('src/dao/' . $nome. '.php')) {
require_once 'src/dao/' . $nome. '.php';
} else if (is_file('src/controller/' . $nome . '.php')) {
require_once 'src/controller/' . $nome . '.php';
}
Existem algumas outras possibilidades para um algoritmo de autoload. Como, por exemplo, trabalhar com namespaces seguindo um padrão. Ou registrar mais de um autoload:
function carregaClasseDao($nome) {
if (is_file('src/dao/' . $nome. '.php')) {
require_once 'src/dao/' . $nome. '.php';
}
function carregaClasseController($nome){
if (is_file('src/controller/' . $nome . '.php')) {
require_once 'src/controller/' . $nome . '.php';
}
}
// depois precisamos registrar os dois
spl_autoload_register("carregaClasseDao");
spl_autoload_register("carregaClasseController");
Espero ter ajudado. Qualquer dificuldade compartilhe com a gente!
Bons estudos.