/** * I18n instantiation * * @param array I18n configuration * @throws object RuntimeException */ public function __construct($locale = '') { // Main I18n instance only instantiated once if (is_null(static::$instance) && Juriya::getInstance() instanceof Juriya) { empty($locale) or self::setLocale($locale); $this->lang = new Collection(array_fill_keys(array_keys(self::$iso), NULL)); $this->getDefaultLocale(); static::$instance = $this; } else { throw new \RuntimeException(self::translate('class_already_initialized', __CLASS__)); } }
/** * Proxy to Juriya executor * * @return object Juriya\Output */ public function execute() { $this->notify($this); return Juriya::getInstance()->execute($this); }
public function testRequestObserver() { $config = new Collection(); $config->set('socket', '\\Juriya\\Controller'); $config->set('tunnel', 'HMVC'); $request = new Request($config); $observer = new DummyObserver(); $launcher = Juriya::getInstance(); $launcher->attach($observer); ob_start(); $launcher->execute($request); $this->assertEquals('Dummy observer now receive ' . get_class($launcher), ob_get_clean()); // Detach Dummy Observer from Launcher Juriya::getInstance()->detach(new DummyObserver()); }