public static function factoryInstall($Alias, $ClassName, $Path = '', $FactoryType = self::FactorySingleton, $Data = null)
{
// Don't overwrite an existing definition.
if (self::$_FactoryOverwrite === false && self::factoryExists($Alias)) {
return;
}
self::factory()->install($Alias, $ClassName, $Path, $FactoryType, $Data);
// Cache some of the more commonly used factory objects as properties.
switch ($Alias) {
case self::AliasConfig:
self::$_Config = self::factory($Alias);
break;
case self::AliasLocale:
self::$_Locale = self::factory($Alias);
break;
case self::AliasRequest:
self::$_Request = self::factory($Alias);
break;
case self::AliasPluginManager:
self::$_PluginManager = self::factory($Alias);
break;
case self::AliasSession:
self::$_Session = null;
break;
}
}