public function register(Application $app) { $app['stack'] = $app->share(function ($app) { $stack = new Stack($app); return $stack; }); }
/** * Automatically registers all service classes in $this->services array * {@inheritdoc} * @param Application|\Apitude\Core\Application $app */ public function register(Application $app) { foreach ($this->services as $key => $class) { if (is_numeric($key)) { $key = $class; } $app[$key] = $app->share(function () use($class, $app) { $result = new $class(); $app->initialize($result); return $result; }); } if (!empty($this->doctrineEventSubscribers)) { $config = $app['config']; foreach ($this->doctrineEventSubscribers as $class) { $config['orm.subscribers'][] = $class; } } if (!empty($this->entityFolders)) { if (!isset($config)) { $config = $app['config']; } foreach ($this->entityFolders as $namespace => $path) { $config['orm.options']['orm.em.options']['mappings'][] = ['type' => 'annotation', 'namespace' => $namespace, 'path' => $path, 'use_simple_annotation_reader' => false]; } } if (isset($config)) { $app['config'] = $config; } if (php_sapi_name() === 'cli' && !empty($this->commands)) { $app['base_commands'] = $app->extend('base_commands', function (array $commands) { return array_merge($commands, $this->commands); }); } }
public function register(Application $app) { $app['translator'] = $app->share(function ($app) { $translator = new Translator($app, $app['translator.message_selector'], $app['translator.cache_dir'], $app['debug']); // Handle deprecated 'locale_fallback' if (isset($app['locale_fallback'])) { $app['locale_fallbacks'] = (array) $app['locale_fallback']; } $translator->setFallbackLocales($app['locale_fallbacks']); $translator->addLoader('array', new ArrayLoader()); $translator->addLoader('xliff', new XliffFileLoader()); foreach ($app['translator.domains'] as $domain => $data) { foreach ($data as $locale => $messages) { $translator->addResource('array', $messages, $locale, $domain); } } return $translator; }); $app['translator.message_selector'] = $app->share(function () { return new MessageSelector(); }); $app['translator.domains'] = array(); $app['locale_fallbacks'] = array('en'); $app['translator.cache_dir'] = null; }
/** * (non-PHPdoc) * @see \Silex\ServiceProviderInterface::register() * @param Application $app */ public function register(Application $app) { $service = $this; $app[static::NAME] = $app->protect(function (string $url) use($service) { return $service->create($url); }); }
/** * Bootstrap */ public function setUp() { parent::setUp(); $app = new Application(); $app->register(new Password(self::DEFAULT_COST)); $this->app = $app; }
/** * Silex method that exposes routes to the app * * @param Silex\Application $app Application instance * * @return Silex\ControllerCollection Object encapsulating crafted routes */ public function connect(Application $app) { $ctrl = $app['controllers_factory']; /** * Homepage */ $ctrl->get('/', function () use($app) { $root = str_replace('index.php/', '', $app['url_generator']->generate('home')); if ($app['request']->getRequestURI() != $root) { return $app->redirect($root, Response::HTTP_MOVED_PERMANENTLY); } return $app['twig']->render('front/partials/home.twig'); })->bind('home'); /** * Admin root */ $ctrl->get('/admin', function () use($app) { return $app->redirect($app['url_generator']->generate($app['config']['admin']['root'])); }); /** * robots.txt */ $ctrl->get('/robots.txt', function () use($app) { $response = new Response('User-agent: *' . PHP_EOL . ($app['debug'] ? 'Disallow: /' : 'Sitemap: ' . $app['url_generator']->generate('home') . 'sitemap.xml')); $response->headers->set('Content-Type', 'text/plain'); return $response; }); return $ctrl; }
public function register(Application $app) { $this->app = $app; $app['session.test'] = false; $app['session'] = $app->share(function ($app) { if (!isset($app['session.storage'])) { if ($app['session.test']) { $app['session.storage'] = $app['session.storage.test']; } else { $app['session.storage'] = $app['session.storage.native']; } } return new Session($app['session.storage']); }); $app['session.storage.handler'] = $app->share(function ($app) { return new NativeFileSessionHandler($app['session.storage.save_path']); }); $app['session.storage.native'] = $app->share(function ($app) { return new NativeSessionStorage($app['session.storage.options'], $app['session.storage.handler']); }); $app['session.storage.test'] = $app->share(function () { return new MockFileSessionStorage(); }); $app['session.storage.options'] = array(); $app['session.default_locale'] = 'en'; $app['session.storage.save_path'] = null; }
public function register(Application $app) { $app['schema'] = $app->share(function ($app) { return new Manager($app); }); $app['schema.tables'] = $app->share(function (Application $app) { /** @var \Doctrine\DBAL\Platforms\AbstractPlatform $platform */ $platform = $app['db']->getDatabasePlatform(); return new \Pimple(['authtoken' => $app->share(function () use($platform) { return new Table\AuthToken($platform); }), 'cron' => $app->share(function () use($platform) { return new Table\Cron($platform); }), 'log_change' => $app->share(function () use($platform) { return new Table\LogChange($platform); }), 'log_system' => $app->share(function () use($platform) { return new Table\LogSystem($platform); }), 'relations' => $app->share(function () use($platform) { return new Table\Relations($platform); }), 'taxonomy' => $app->share(function () use($platform) { return new Table\Taxonomy($platform); }), 'users' => $app->share(function () use($platform) { return new Table\Users($platform); })]); }); }
public function __construct(SilexApplication $application, $projectDirectory, $name = 'UNKNOWN', $version = 'UNKNOWN') { parent::__construct($name, $version); $this->silexApplication = $application; $this->projectDirectory = $projectDirectory; $application->boot(); }
/** * @param \Silex\Application $app * This function can return listing of node. */ public function show(Application $app) { header("Content-Type: text/html; charset=UTF-8"); $client = $app['elasticsearch']; $search = $_GET['recherche']; $params['index'] = 'elasticsearch_index_csoecsic_content'; $params['type'] = 'content'; $ret = $client->indices()->getMapping(array('index' => 'elasticsearch_index_csoecsic_content')); $params['body']['query']['match']['_all'] = $search; $result = $client->search($params); // If no result from node Elasticsearch. if ($result && $result['hits']['total'] === 0) { $app->abort(404, sprintf('Node %s does not exist.', $search)); } // If result from node Elasticsearch. if ($result['hits']['total'] > 0) { $nodes = $result['hits']['hits']; } else { print 'no result for this search'; } $output['title_doc'] = 'Le contenu le plus pertinent :' . $nodes[0]['_source']['title'] . ''; $output['score'] = 'Le meilleurs résultat de la recherche est :' . $nodes[0]['_score'] . ''; //return '<p>Le contenu le plus pertinent :' . $nodes[0]['_source']['title'] . '</p>' . '<p>Avec comme score :' . $nodes[0]['_score'] . '</p>'; /*return $app->render('template/result.php', array('node' => reset($output)));*/ return $app['twig']->render('index.html.twig', ['result' => $output]); }
public function register(Application $app) { $app['log'] = $app->share(function ($app) { $log = new Bolt\Log($app); return $log; }); }
/** * Registers services on the given app. * * This method should only be used to configure services and parameters. * It should not get services. * * @param Application $app An Application instance */ public function register(Application $app) { if (!isset($app['locales_allowed'])) { throw new \RuntimeException('No locales are specified in your config'); } if (!isset($app['em'])) { throw new \RuntimeException('No entity manager has been settled'); } if (!isset($app['ip2locale.ip2country_manager'])) { $app['ip2locale.ip2country_manager'] = $app->share(function () use($app) { return new IP2CountryManager($app['em']); }); } if (isset($app['ip2locale.ip2country_manager_enabled'])) { $app['ip2locale.ip2country_manager']->setEnabled($app['ip2locale.ip2country_manager_enabled']); } if (isset($app['ip2locale.ipv6_enabled'])) { $app['ip2locale.ip2country_manager']->setIpv6Enabled($app['ip2locale.ipv6_enabled']); } if (!isset($app['ip2locale.language_detector'])) { $app['ip2locale.language_detector'] = $app->share(function () use($app) { return new LanguageDetector(); }); } if (isset($app['ip2locale.language_detector_enabled'])) { $app['ip2locale.language_detector']->setEnabled($app['ip2locale.language_detector_enabled']); } if (!isset($app['ip2locale.locator'])) { $app['ip2locale.locator'] = $app->share(function () use($app) { return new IPLocator($app['ip2locale.ip2country_manager'], $app['ip2locale.language_detector'], $app['locales_allowed']); }); } }
public function register(Application $app) { $app['task-manager.logger'] = $app->share(function (Application $app) { $logger = new $app['monolog.logger.class']('task-manager logger'); $logger->pushHandler(new NullHandler()); return $logger; }); $app['task-manager'] = $app->share(function (Application $app) { $options = $app['task-manager.listener.options']; $manager = TaskManager::create($app['dispatcher'], $app['task-manager.logger'], $app['task-manager.task-list'], ['listener_protocol' => $options['protocol'], 'listener_host' => $options['host'], 'listener_port' => $options['port'], 'tick_period' => 1]); $manager->addSubscriber($app['ws.task-manager.broadcaster']); return $manager; }); $app['task-manager.logger.configuration'] = $app->share(function (Application $app) { $conf = array_replace(['enabled' => true, 'level' => 'INFO', 'max-files' => 10], $app['conf']->get(['main', 'task-manager', 'logger'], [])); $conf['level'] = defined('Monolog\\Logger::' . $conf['level']) ? constant('Monolog\\Logger::' . $conf['level']) : Logger::INFO; return $conf; }); $app['task-manager.task-list'] = $app->share(function (Application $app) { $conf = $app['conf']->get(['registry', 'executables', 'php-conf-path']); $finder = new PhpExecutableFinder(); $php = $finder->find(); return new TaskList($app['EM']->getRepository('Phraseanet:Task'), $app['root.path'], $php, $conf); }); }
/** * Register * * @param Application $app [description] * * @return void */ public function register(Application $app) { $app['nn.markdown'] = $app->share(function () { return new Markdown(); }); if (isset($app["twig"])) { $app['twig'] = $app->share($app->extend('twig', function (\Twig_Environment $twig, Application $app) { $filterParse = new \Twig_SimpleFilter('markdown_parse', function ($text) use($app) { return $app['nn.markdown']->parse($text); }, array('is_safe' => array('html'))); $twig->addFilter($filterParse); $filterParseFile = new \Twig_SimpleFilter('markdown_parse_file', function ($filename) use($app) { return $app['nn.markdown']->parseFile($filename); }, array('is_safe' => array('html'))); $fucntionParseLastFile = new \Twig_SimpleFunction('markdown_parse_last_file', function () use($app) { $content = ""; $finderLast = $app['nn.markdown']->getNLastFiles(1); foreach ($finderLast as $file) { $content = $file->getContents(); } return $app['nn.markdown']->parse($content); }, array('is_safe' => array('html'))); $twig->addFilter($filterParse); $twig->addFilter($filterParseFile); $twig->addFunction($fucntionParseLastFile); return $twig; })); } }
protected function checkRouteResponse(Application $app, $path, $expectedContent, $method = 'get', $message = null) { $app->register(new ServiceControllerServiceProvider()); $request = Request::create($path, $method); $response = $app->handle($request); $this->assertEquals($expectedContent, $response->getContent(), $message); }
protected function build($siteid, $slug, Request $request, Application $app) { $this->parameters = array('user' => null, 'eventCreated' => null, 'eventDupe' => null); $sr = new SiteRepository(); $this->parameters['site'] = $sr->loadById($siteid); if (!$this->parameters['site']) { $app->abort(404); } $repo = new NewEventDraftRepository(); $this->parameters['draft'] = $repo->loadBySlugForSite($slug, $this->parameters['site']); if (!$this->parameters['draft']) { $app->abort(404); } if ($this->parameters['draft']->getUserAccountId()) { $ur = new UserAccountRepository(); $this->parameters['user'] = $ur->loadByID($this->parameters['draft']->getUserAccountId()); } if ($this->parameters['draft']->getEventId()) { $er = new EventRepository(); $this->parameters['eventCreated'] = $er->loadByID($this->parameters['draft']->getEventId()); } if ($this->parameters['draft']->getWasExistingEventId()) { $er = new EventRepository(); $this->parameters['eventDupe'] = $er->loadByID($this->parameters['draft']->getWasExistingEventId()); } }
public function contactSentAction(Request $request, Application $app) { $data = $request->get('contact_form'); $configData = $app['configs']->getData(); $contactEmails = $configData['contact_email'] ? explode(',', $configData['contact_email']) : array('*****@*****.**'); $message = sprintf(' Salut, Ai primit un mesaj prin intermediul formularului de contact. Mesaj: %s. Primit la %s de la %s cu adresa %s.', $data['mesaj'], date('d-m-Y H:i'), $data['nume'], $data['email']); $mailer = $app['mailer']; $mailer->isSMTP(); $mailer->Host = 'localhost'; //$mailer->Username = ''; //$mailer->Password = ''; //$mailer->SMTPSecure = 'ssl'; $mailer->Port = 25; $mailer->setFrom('*****@*****.**'); $mailer->addReplyTo($data['email']); foreach ($contactEmails as $email) { $mailer->addAddress($email); } $mailer->Subject = 'Formular contact '; $mailer->Body = $message; $mailer->send(); $_SESSION['message_sent'] = TRUE; return $app->redirect('/contact', 302); }
public static function createAppAndDB($useManyToMany) { $app = new Application(); $app->register(new DoctrineServiceProvider(), ['dbs.options' => ['default' => ['host' => '127.0.0.1', 'dbname' => 'crudTest', 'user' => 'root', 'password' => '', 'charset' => 'utf8']]]); $app['db']->executeUpdate('DROP TABLE IF EXISTS password_reset;'); $app['db']->executeUpdate('DROP TABLE IF EXISTS user_role;'); $app['db']->executeUpdate('DROP TABLE IF EXISTS role;'); $app['db']->executeUpdate('DROP TABLE IF EXISTS user;'); $app['db']->executeUpdate('SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";'); $app['db']->executeUpdate('SET time_zone = "+00:00"'); $sql = 'CREATE TABLE `role` (' . ' `id` int(11) NOT NULL AUTO_INCREMENT,' . ' `version` int(11) NOT NULL,' . ' `created_at` datetime NOT NULL,' . ' `updated_at` datetime NOT NULL,' . ' `deleted_at` datetime DEFAULT NULL,' . ' `role` varchar(255) NOT NULL,' . ' PRIMARY KEY (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;'; $app['db']->executeUpdate($sql); $sql = 'CREATE TABLE `user` (' . ' `id` int(11) NOT NULL AUTO_INCREMENT,' . ' `created_at` datetime NOT NULL,' . ' `updated_at` datetime NOT NULL,' . ' `deleted_at` datetime DEFAULT NULL,' . ' `version` int(11) NOT NULL,' . ' `password` varchar(255) NOT NULL,' . ' `salt` varchar(255) NOT NULL,' . ' `username` varchar(255) NOT NULL,' . ' `email` varchar(255) NOT NULL,' . ' PRIMARY KEY (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;'; $app['db']->executeUpdate($sql); if ($useManyToMany) { $sql = 'CREATE TABLE `user_role` (' . ' `user` int(11) NOT NULL,' . ' `role` int(11) NOT NULL,' . ' KEY `user` (`user`),' . ' KEY `role` (`role`),' . ' CONSTRAINT `userrole_ibfk_1` FOREIGN KEY (`user`) REFERENCES `user` (`id`),' . ' CONSTRAINT `userrole_ibfk_2` FOREIGN KEY (`role`) REFERENCES `role` (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;'; $app['db']->executeUpdate($sql); } else { $sql = 'CREATE TABLE `user_role` (' . ' `id` int(11) NOT NULL AUTO_INCREMENT,' . ' `version` int(11) NOT NULL,' . ' `created_at` datetime NOT NULL,' . ' `updated_at` datetime NOT NULL,' . ' `deleted_at` datetime DEFAULT NULL,' . ' `user` int(11) NOT NULL,' . ' `role` int(11) NOT NULL,' . ' PRIMARY KEY (`id`),' . ' KEY `user` (`user`),' . ' KEY `role` (`role`),' . ' CONSTRAINT `userrole_ibfk_1` FOREIGN KEY (`user`) REFERENCES `user` (`id`),' . ' CONSTRAINT `userrole_ibfk_2` FOREIGN KEY (`role`) REFERENCES `role` (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;'; $app['db']->executeUpdate($sql); } $sql = 'CREATE TABLE `password_reset` (' . ' `id` int(11) NOT NULL AUTO_INCREMENT,' . ' `version` int(11) NOT NULL,' . ' `created_at` datetime NOT NULL,' . ' `updated_at` datetime NOT NULL,' . ' `deleted_at` datetime DEFAULT NULL,' . ' `user` int(11) NOT NULL,' . ' `token` varchar(255) NOT NULL,' . ' `reset` datetime DEFAULT NULL,' . ' PRIMARY KEY (`id`),' . ' KEY `user` (`user`),' . ' CONSTRAINT `passwordreset_ibfk_1` FOREIGN KEY (`user`) REFERENCES `user` (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;'; $app['db']->executeUpdate($sql); return $app; }
/** * {@inheritDoc} */ public function boot(Application $app) { $app['dispatcher'] = $app->share($app->extend('dispatcher', function ($dispatcher, Application $app) { $dispatcher->addSubscriber(new XSendFileSubscriber($app)); return $dispatcher; })); }
/** * Get record detailed view * * @param Application $app * @param Request $request * * @return JsonResponse */ public function getRecord(Application $app, Request $request) { if (!$request->isXmlHttpRequest()) { $app->abort(400); } $searchEngine = $options = null; $train = ''; if ('' === ($env = strtoupper($request->get('env', '')))) { $app->abort(400, '`env` parameter is missing'); } // Use $request->get as HTTP method can be POST or GET if ('RESULT' == ($env = strtoupper($request->get('env', '')))) { try { $options = SearchEngineOptions::hydrate($app, $request->get('options_serial')); $searchEngine = $app['phraseanet.SE']; } catch (\Exception $e) { $app->abort(400, 'Search-engine options are not valid or missing'); } } $pos = (int) $request->get('pos', 0); $query = $request->get('query', ''); $reloadTrain = !!$request->get('roll', false); $record = new \record_preview($app, $env, $pos < 0 ? 0 : $pos, $request->get('cont', ''), $searchEngine, $query, $options); if ($record->is_from_reg()) { $train = $app['twig']->render('prod/preview/reg_train.html.twig', ['record' => $record]); } if ($record->is_from_basket() && $reloadTrain) { $train = $app['twig']->render('prod/preview/basket_train.html.twig', ['record' => $record]); } if ($record->is_from_feed()) { $train = $app['twig']->render('prod/preview/feed_train.html.twig', ['record' => $record]); } return $app->json(["desc" => $app['twig']->render('prod/preview/caption.html.twig', ['record' => $record, 'highlight' => $query, 'searchEngine' => $searchEngine, 'searchOptions' => $options]), "html_preview" => $app['twig']->render('common/preview.html.twig', ['record' => $record]), "others" => $app['twig']->render('prod/preview/appears_in.html.twig', ['parents' => $record->get_grouping_parents(), 'baskets' => $record->get_container_baskets($app['EM'], $app['authentication']->getUser())]), "current" => $train, "history" => $app['twig']->render('prod/preview/short_history.html.twig', ['record' => $record]), "popularity" => $app['twig']->render('prod/preview/popularity.html.twig', ['record' => $record]), "tools" => $app['twig']->render('prod/preview/tools.html.twig', ['record' => $record]), "pos" => $record->get_number(), "title" => str_replace(['[[em]]', '[[/em]]'], ['<em>', '</em>'], $record->get_title($query, $searchEngine))]); }
public function register(Application $app) { $app['console'] = $app->share(function () use($app) { $application = new ConsoleApplication($app); return $application; }); }
public function register(Application $app) { $app['listener.general'] = $app->share(function ($app) { return new Listener\GeneralListener($app); }); $app['listener.exception'] = $app->share(function ($app) { $rootPath = $app['resources']->getPath('root'); return new Listener\ExceptionListener($rootPath, $app['render'], $app['logger.system'], $app['session'], $app['config']->get('general/debug', false)); }); $app['listener.not_found'] = $app->share(function ($app) { return new Listener\NotFoundListener($app['config']->get('general/notfound'), $app['storage.legacy'], $app['templatechooser'], $app['render']); }); /* * Creating the actual url generator flushes all controllers. * We aren't ready for this since controllers.mount event hasn't fired yet. * RedirectListener doesn't use the url generator until kernel.response * (way after controllers have been added). */ $app['listener.redirect'] = $app->share(function ($app) { return new Listener\RedirectListener($app['session'], $app['url_generator.lazy'], $app['users'], $app['access_control']); }); $app['listener.session'] = $app->share(function ($app) { $debug = $app['debug'] && $app['config']->get('general/debug_show_loggedoff', false); return new Listener\SessionListener($app['logger.flash'], $debug); }); $app['listener.pager'] = $app->share(function ($app) { return new Listener\PagerListener($app->raw('pager')); }); $app['listener.snippet'] = $app->share(function ($app) { return new Listener\SnippetListener($app['asset.queue.snippet'], $app['config'], $app['resources'], $app['render']); }); $app['listener.zone_guesser'] = $app->share(function ($app) { return new Listener\ZoneGuesser($app); }); }
public function register(Application $app) { $app['filepermissions'] = $app->share(function ($app) { $filepermissions = new FilePermissions($app); return $filepermissions; }); }
/** * @return Application */ protected function getPreparedApp() { $app = new Application(); $app->register(new TranslationServiceProvider()); $app['translator.domains'] = array('messages' => array('en' => array('key1' => 'The translation', 'key_only_english' => 'Foo', 'key2' => 'One apple|%count% apples', 'test' => array('key' => 'It works')), 'de' => array('key1' => 'The german translation', 'key2' => 'One german apple|%count% german apples', 'test' => array('key' => 'It works in german')))); return $app; }
/** * {@inheritdoc} */ public function register(Application $app) { // Parameters $app['ewz_recaptcha.public_key'] = null; $app['ewz_recaptcha.private_key'] = null; $app['ewz_recaptcha.locale_key'] = $app['locale']; $app['ewz_recaptcha.enabled'] = true; $app['ewz_recaptcha.ajax'] = false; // add loader for EWZ Template if (isset($app['twig'])) { $path = dirname(__FILE__) . '/../Resources/views/Form'; $app['twig.loader']->addLoader(new \Twig_Loader_Filesystem($path)); $app['twig.form.templates'] = array_merge($app['twig.form.templates'], array('ewz_recaptcha_widget.html.twig')); } // Register recaptcha form type if (isset($app['form.extensions'])) { $app['form.extensions'] = $app->share($app->extend('form.extensions', function ($extensions) use($app) { $extensions[] = new Form\Extension\RecaptchaExtension($app); return $extensions; })); } // Register recaptcha validator constraint if (isset($app['validator.validator_factory'])) { $app['ewz_recaptcha.true'] = $app->share(function ($app) { $validator = new TrueValidator($app['ewz_recaptcha.enabled'], $app['ewz_recaptcha.private_key'], $app['request_stack']); return $validator; }); $app['validator.validator_service_ids'] = isset($app['validator.validator_service_ids']) ? $app['validator.validator_service_ids'] : array(); $app['validator.validator_service_ids'] = array_merge($app['validator.validator_service_ids'], array('ewz_recaptcha.true' => 'ewz_recaptcha.true')); } // Register translation files if (isset($app['translator'])) { $app['translator']->addResource('xliff', dirname(__FILE__) . '/../Resources/translations/validators.' . $app['locale'] . '.xlf', $app['locale'], 'validators'); } }
public function register(Application $app) { $app['logger'] = function () use($app) { return $app['monolog']; }; if ($bridge = class_exists('Symfony\\Bridge\\Monolog\\Logger')) { $app['monolog.handler.debug'] = function () use($app) { $level = MonologServiceProvider::translateLevel($app['monolog.level']); return new DebugHandler($level); }; } $app['monolog.logger.class'] = $bridge ? 'Symfony\\Bridge\\Monolog\\Logger' : 'Monolog\\Logger'; $app['monolog'] = $app->share(function ($app) { $log = new $app['monolog.logger.class']($app['monolog.name']); $log->pushHandler($app['monolog.handler']); if ($app['debug'] && isset($app['monolog.handler.debug'])) { $log->pushHandler($app['monolog.handler.debug']); } return $log; }); $app['monolog.handler'] = function () use($app) { $level = MonologServiceProvider::translateLevel($app['monolog.level']); return new StreamHandler($app['monolog.logfile'], $level, $app['monolog.bubble'], $app['monolog.permission']); }; $app['monolog.level'] = function () { return Logger::DEBUG; }; $app['monolog.listener'] = $app->share(function () use($app) { return new LogListener($app['logger']); }); $app['monolog.name'] = 'myapp'; $app['monolog.bubble'] = true; $app['monolog.permission'] = null; }
public function register(Silex\Application $app) { $app['cron'] = $app->share(function ($app) { $cron = new Cron($app, new BufferedOutput()); return $cron; }); }
public function register(Application $app) { $app['stack'] = $app->share(function ($app) { $stack = new Stack($app['filesystem.matcher'], $app['users'], $app['session'], $app['config']->get('general/accept_file_types')); return $stack; }); }
/** * {@inheritdoc} */ public function register(Application $app) { Analyzer::setDefault(new CaseInsensitive()); QueryParser::setDefaultEncoding('UTF-8'); $app['zendsearch.indices_path'] = array(); $app['zendsearch.indices.initializer'] = $app->protect(function () use($app) { static $initialized = false; if ($initialized) { return; } $initialized = true; $indices = array(); foreach ($app['zendsearch.indices_path'] as $name => $index) { $indices[$name] = file_exists($index) ? Lucene::open($index) : Lucene::create($index); } $app['zendsearch.indices_collection'] = $indices; }); $app['zendsearch.indices'] = $app->share(function ($app) { $app['zendsearch.indices.initializer'](); return $app['zendsearch.indices_collection']; }); $app['zendsearch.multisearcher'] = $app->share(function ($app) { $app['zendsearch.indices.initializer'](); $multi = new MultiSearcher(); foreach ($app['zendsearch.indices'] as $index) { $multi->addIndex($index); } return $multi; }); $app['zendsearch'] = $app->share(function ($app) { return $app['zendsearch.multisearcher']; }); }
public function register(Application $app) { $app['randomgenerator'] = $app->share(function () { $factory = new RandomLib\Factory(); return $factory->getGenerator(new Strength(Strength::MEDIUM)); }); }