/** * {@inheritdoc} */ public function run(App $app, Document $config) { $app->m->shell = new Shell($app); $app->on('ready', function () use($app) { $app->m->shell->run(); }); }
/** * {@inheritdoc} */ public function run(App $app, Document $config) { Enum::addSearchPrefix($app->n('Enums') . '\\'); $app->m->Helpers = new Helpers($app); $app->m->Helpers->addHelper('Jivoo\\Snippets\\SnippetHelper'); $app->m->Helpers->runInit(); $app->m->Helpers->addHelper('Jivoo\\AccessControl\\AuthHelper'); $app->m->addMethod('helper', array($app->m->Helpers, 'getHelper')); $app->m->Models = new Models($app); $app->m->Models->runInit(); $listeners = $this->p('app/Listeners'); if (is_dir($listeners)) { $files = scandir($listeners); if ($files !== false) { foreach ($files as $file) { $split = explode('.', $file); if (isset($split[1]) and $split[1] == 'php') { $listener = $this->app->n('Listeners\\' . $split[0]); Assume::isSubclassOf($listener, 'Jivoo\\Core\\AppListener'); $this->app->attachEventListener(new $listener($this->app)); } } } } }
/** * {@inheritdoc} */ public function run(App $app, Document $config) { $app->m->Routing = new Routing($app, false); $this->m->Routing->fixPath(); $this->logger->debug('Request for {path} from {ip}', array('path' => '/' . implode('/', $app->m->request->path), 'ip' => $app->m->request->ip)); $app->m->Routing->dispatchers->add(new ActionDispatcher($app)); $app->m->Routing->dispatchers->add(new SnippetDispatcher($app)); $app->on('ready', array($app->m->Routing, 'findRoute')); $app->m->Assets = new Assets($app); $app->m->Assets->runInit(); $app->m->View = new View($app); $app->m->View->runInit(); $app->m->addProperty('view', $app->m->View); }
/** * Get a path relative to this extension's directory. * @param App $app Application. * @param string $path A relative path. * @return string An absolute path. */ public function p(App $app, $path) { list($key, $path) = $this->getKeyPath($path); return $app->p($key, $path); }
/** * Stop event source and program execution. * @param App|null $app If set, the application's {@see App::stop} method will * be called instead of {@see exit}. */ public function stop(App $app = null) { if (isset($app)) { $app->stop(); } exit; }