What are the advantages and disadvantages of using module aliases in PHP for URL resolution?

When working with PHP applications, using module aliases for URL resolution can make the code more readable and maintainable by providing a clear and consistent way to reference different modules or components. However, this approach can also introduce complexity and potential conflicts if not managed properly, as it relies on custom configurations that may not be familiar to all developers.

// Using module aliases for URL resolution in PHP

// Define module aliases
$module_aliases = [
    'home' => '/index.php',
    'about' => '/about.php',
    'contact' => '/contact.php',
];

// Resolve URL using module alias
function resolve_url($module)
{
    global $module_aliases;
    
    if (isset($module_aliases[$module])) {
        return $module_aliases[$module];
    } else {
        return '/404.php';
    }
}

// Example usage
echo resolve_url('home'); // Output: '/index.php'
echo resolve_url('about'); // Output: '/about.php'
echo resolve_url('contact'); // Output: '/contact.php'
echo resolve_url('nonexistent'); // Output: '/404.php'