Как использовать spl_autoload_register для нескольких каталогов в PHP?

Я на самом деле пытаюсь создать MVC фреймворк для себя, однако яУ меня проблемы с автозагрузкой. Это'на самом деле это не проблема, но яЯ хотел бы спросить гуру, как они используютspl_autoload_register функция, когда есть разные каталоги.

Допустим, у нас есть следующие каталоги:

Controllers
Libs
Models

Каждая папка содержит разные классы, такие как:

Controllers:
   Main.php
   File.php
   About.php
Libs:
   Main.php
   Front_controller.php
Models:
   Index.php
   File.php
   Login.php

Вы можете заметить, что некоторые имена файлов могут быть найдены с одинаковыми именами в разных каталогах. Итак, это то, что ямы уже пробовали:

spl_autoload_register(function ($class) { 

    $pathContorllers = 'Controllers/' . $class . '.php';
    $pathLibs = 'Libs/' . $class . '.php';
    $pathModels = 'Models/' . $class . '.php';

    if (file_exists($pathContorllers)) {
        require_once $pathContorllers;
    } elseif (file_exists($pathLibs)) {
        require_once $pathLibs;
    } elseif (file_exists($pathModels )) {
        require_once $pathModels ;
    }
});

Это работает хорошо, однако яЯ уверен, что есть еще один способ сделать все проще. Кто-нибудь может подсказать мне, как я могу сделать этот код лучше или проще / что гуру используют в этой ситуации?

Ответы на вопрос(2)

Ваш ответ на вопрос