Uninstall an class from the factory.
public static factoryUninstall ( string $Alias ) | ||
$Alias | string | The alias of the class to uninstall. |
/** * Add a formatter and create a chain in the Gdn factory. * * This is a conveinience method for chaining formatters without having to deal with the object creation logic. * * @param string $Type The type of formatter. * @param object $Formatter The formatter to install. * @param int $Priority The priority of the formatter in the chain. High priorities come first. * @return Gdn_FormatterChain The chain object that was created. */ public static function chain($Type, $Formatter, $Priority = Gdn_FormatterChain::PRIORITY_DEFAULT) { // Grab the existing formatter from the factory. $Formatter = Gdn::factory($Type . 'Formatter'); if ($Formatter === null) { $Chain = new Gdn_FormatterChain(); Gdn::factoryInstall($Type . 'Formatter', 'Gdn_FormatterChain', __FILE__, Gdn::FactorySingleton, $Chain); } elseif (is_a($Formatter, 'Gdn_FormatterChain')) { $Chain = $Formatter; } else { Gdn::factoryUninstall($Type . 'Formatter'); // Look for a priority on the existing object. if (property_exists($Formatter, 'Priority')) { $Priority = $Formatter->Priority; } else { $Priority = self::PRIORITY_DEFAULT; } $Chain = new Gdn_FormatterChain(); $Chain->add($Formatter, $Priority); Gdn::factoryInstall($Type . 'Formatter', 'Gdn_FormatterChain', __FILE__, Gdn::FactorySingleton, $Chain); } $Chain->add($Formatter, $Priority); return $Chain; }