Jak używać spl_autoload_register do wielu diet w PHP?

Staram się stworzyć własną strukturę MVC, jednak mam kłopoty z Autoloadem. Właściwie to nie problem, ale chciałbym zapytać guru, jak oni używająspl_autoload_register funkcja, gdy istnieją różne katalogi.

Powiedzmy, że mamy następujące katalogi:

Controllers
Libs
Models

Każdy folder zawiera różne klasy, takie jak:

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

Można zauważyć, że niektóre nazwy plików mogą znajdować się pod tą samą nazwą w różnych katalogach. Okay, więc to właśnie próbowałem do tej pory:

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

Działa dobrze, ale jestem pewien, że istnieje inny sposób na uproszczenie wszystkiego. Czy ktoś może mi zasugerować, w jaki sposób mogę uczynić ten kod lepszym lub prostszym / co wykorzystują guru w tej sytuacji?

questionAnswers(2)

yourAnswerToTheQuestion