php-hotfix/src/Hotfix/AliasManager.php

41 lines
1009 B
PHP

<?php
namespace NoccyLabs\Hotfix\Hotfix;
use NoccyLabs\Hotfix\Exception\ConfigurationException;
class AliasManager
{
private static $aliases = [];
public static function registerFromConfig($file)
{
$config = parse_ini_file($file, true);
if (!array_key_exists('alias', $config)) {
return ;
}
foreach ($config['alias'] as $prefix=>$url) {
self::registerAlias($prefix, $url);
}
}
public static function registerAlias($prefix, $url)
{
if (strpos($url,'{fix}')===false) {
throw new ConfigurationException("The alias URL for {$prefix} does not contain the magic '{fix}' placeholder");
}
self::$aliases[$prefix] = $url;
}
public static function getRegisteredAlises()
{
return self::$aliases;
}
public static function getAlias($prefix)
{
if (!array_key_exists($prefix,self::$aliases)) return null;
return self::$aliases[$prefix];
}
}