/**
  * @param ServiceManager $serviceManager
  * @return FlashMessenger
  */
 public function __invoke(ServiceManager $serviceManager)
 {
     /** @var ConfigManager $config */
     $config = $serviceManager->get('ConfigManager');
     $sessionId = $config->getNode('flash-messenger')->get('session-id');
     return new FlashMessenger($sessionId);
 }
Esempio n. 2
0
 /**
  * @param ServiceManager $serviceManager
  * @return PDO
  */
 public function __invoke(ServiceManager $serviceManager)
 {
     /* @var $configManager ConfigManager */
     $configManager = $serviceManager->get('ConfigManager');
     $databaseConfig = $configManager->get('database');
     return new PDO("mysql:host=" . $databaseConfig['host'] . ";dbname=" . $databaseConfig['dbname'], $databaseConfig['user'], $databaseConfig['password']);
 }
Esempio n. 3
0
 /**
  * @return mixed
  */
 function run()
 {
     $routes = new RouteCollection();
     /** @var ConfigManager $configManager */
     $configManager = $this->serviceManager->get('ConfigManager');
     foreach ($configManager->get('routes') as $rota => $values) {
         $routes->add($rota, new Route($values['route'], array('controller' => $values['controller'], 'action' => $values['action'])));
     }
     /*@var $context RequestContext */
     $context = $this->serviceManager->get('RequestManager')->getContext();
     $matcher = new UrlMatcher($routes, $context);
     $errorController = $this->getServiceManager()->get('ErrorController');
     try {
         $parameters = $matcher->match($context->getPathInfo());
         $controller = $this->getServiceManager()->get($parameters['controller']);
         $action = $this->getNomeAction($parameters['action']);
         if (false == method_exists($controller, $action)) {
             throw new Exception(sprintf('O Controller %s não possui o método %s', get_class($controller), $action));
         }
         $actionParameters = $this->getActionParameters($parameters);
         if (true == method_exists($controller, 'beforeDispatch')) {
             call_user_func(array($controller, 'beforeDispatch'));
         }
         return call_user_func_array(array($controller, $action), $actionParameters);
     } catch (ResourceNotFoundException $ex) {
         return $errorController->actionError404();
     } catch (MethodNotAllowedException $ex) {
         return $errorController->actionError500($ex);
     } catch (Exception $ex) {
         return $errorController->actionError500($ex);
     }
 }
 /**
  * @param ServiceManager $serviceManager
  * @return MailerManager
  */
 public function __invoke(ServiceManager $serviceManager)
 {
     /* @var $configManager ConfigManager */
     $configManager = $serviceManager->get('ConfigManager');
     $renderer = $serviceManager->get('CupRenderer');
     $bypassEmail = $configManager->get('bypassEmailSend');
     return new MailerManager($configManager->get('mailer'), $renderer, $configManager->get('dumpEmailOnScreen'), $bypassEmail);
 }
 /**
  * @param ServiceManager $serviceManager
  * @return ObjectMapper
  */
 public function __invoke(ServiceManager $serviceManager)
 {
     $db = $serviceManager->get('PDO');
     $cpr = $serviceManager->get('RequestManager');
     /** @var ConfigManager $configManager */
     $configManager = $serviceManager->get('ConfigManager');
     $debug = $configManager->get('debug');
     return new ObjectMapper($db, $cpr, $debug);
 }
 public function __invoke(ServiceManager $serviceManager)
 {
     /* @var $configManager ConfigManager */
     $configManager = $serviceManager->get('ConfigManager');
     $urlGenerator = $serviceManager->get('UrlGenerator');
     $rendererConfig = $configManager->get('renderer');
     $siteConfig = $configManager->get('site');
     return new CupRenderer($rendererConfig['pastaTemplates'], $rendererConfig['pastaViews'], $siteConfig['titulo'], $urlGenerator);
 }
 /**
  * @param ServiceManager $serviceManager
  * @return EntityManager
  */
 public function __invoke(ServiceManager $serviceManager)
 {
     /* @var $configManager ConfigManager */
     $configManager = $serviceManager->get('ConfigManager');
     $databaseConfig = $configManager->get('database');
     $doctrineConfig = $configManager->get('doctrine');
     $connectionParams = array('dbname' => $databaseConfig['dbname'], 'user' => $databaseConfig['user'], 'password' => $databaseConfig['password'], 'host' => $databaseConfig['host'], 'driver' => 'pdo_mysql', 'charset' => 'utf8', 'driverOptions' => array(1002 => 'SET NAMES utf8'));
     $entitiesPaths = $doctrineConfig['entitiesPaths'];
     $proxyDir = $doctrineConfig['proxyDir'];
     $isDevMode = $configManager->get('debug');
     $setupConfig = Setup::createAnnotationMetadataConfiguration($entitiesPaths, $isDevMode, $proxyDir);
     $setupConfig->addCustomStringFunction('rand', 'Mapado\\MysqlDoctrineFunctions\\DQL\\MysqlRand');
     $setupConfig->addCustomStringFunction('round', 'Mapado\\MysqlDoctrineFunctions\\DQL\\MysqlRound');
     $setupConfig->addCustomStringFunction('date', 'Mapado\\MysqlDoctrineFunctions\\DQL\\MysqlDate');
     $setupConfig->addCustomStringFunction('date_format', 'Mapado\\MysqlDoctrineFunctions\\DQL\\MysqlDateFormat');
     $entityManager = EntityManager::create($connectionParams, $setupConfig);
     $platform = $entityManager->getConnection()->getDatabasePlatform();
     $platform->registerDoctrineTypeMapping('enum', 'string');
     return $entityManager;
 }
 /**
  * @throws \Cupcake\Service\Exception\ContainerException
  * @throws \Cupcake\Service\Exception\NotFoundException
  */
 public function testThrowsExceptionWhenGettingANonExistentService()
 {
     $service = new ServiceManager();
     $this->setExpectedException('Cupcake\\Service\\Exception\\NotFoundException');
     $service->get('NonExistentService');
 }
 /**
  * @param ServiceManager $serviceManager
  * @return UrlGenerator
  */
 function __invoke(ServiceManager $serviceManager)
 {
     return new UrlGenerator($serviceManager->get('RequestManager'));
 }