How can PHP classes be effectively autoloaded and managed for a project with clean URLs?

When working on a project with clean URLs, it is important to autoload PHP classes efficiently to avoid cluttering the codebase. One way to achieve this is by using a PSR-4 autoloader, which maps namespaces to directory structures. By following this standard, classes can be autoloaded on-demand as they are needed, improving code organization and readability.

// Autoloader using PSR-4 standard
spl_autoload_register(function ($class) {
    // Define the base directory for the namespace prefix
    $base_dir = __DIR__ . '/src/';

    // Remove the namespace prefix and replace with the directory separator
    $file = $base_dir . str_replace('\\', '/', $class) . '.php';

    // If the file exists, require it
    if (file_exists($file)) {
        require $file;
    }
});