for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Saxulum\Accessor;
trait AccessorRegistry
{
/**
* @var AccessorInterface[]
*/
private static $__accessors = array();
final public static function registerAccessor(AccessorInterface $accessor)
$prefix = $accessor->getPrefix();
if (isset(self::$__accessors[$prefix])) {
throw new \Exception("Override Accessor is not allowed, to enhance stability!");
}
self::$__accessors[$prefix] = $accessor;
* @return AccessorInterface[]
final public static function getAccessors()
return self::$__accessors;
* @param string $prefix
* @return null|AccessorInterface
final public static function getAccessor($prefix)
return isset(self::$__accessors[$prefix]) ? self::$__accessors[$prefix] : null;