Balance
  • Namespace
  • Class
  • Tree

Namespaces

  • Balance
    • Db
      • TableGateway
    • Form
      • Element
      • Search
    • InputFilter
      • Search
    • Model
      • Persistence
        • Db
    • Mvc
      • Controller
    • Posting
    • Stdlib
      • Hydrator
        • Strategy
    • View
      • Table

Classes

  • Balance\Db\TableGateway\AbstractTableGatewayFactory
  • Balance\Form\Accounts
  • Balance\Form\Element\Boolean
  • Balance\Form\Element\Currency
  • Balance\Form\Element\DateTime
  • Balance\Form\Element\Select
  • Balance\Form\Postings
  • Balance\Form\Search\Accounts
  • Balance\Form\Search\Balance
  • Balance\Form\Search\Postings
  • Balance\InputFilter\Accounts
  • Balance\InputFilter\Postings
  • Balance\InputFilter\Search\Accounts
  • Balance\InputFilter\Search\Balance
  • Balance\InputFilter\Search\Postings
  • Balance\Model\AbstractModelFactory
  • Balance\Model\AccountType
  • Balance\Model\Balance
  • Balance\Model\BooleanType
  • Balance\Model\EntryType
  • Balance\Model\Model
  • Balance\Model\Persistence\Db\Accounts
  • Balance\Model\Persistence\Db\Balance
  • Balance\Model\Persistence\Db\Postings
  • Balance\Mvc\Controller\AbstractControllerFactory
  • Balance\Mvc\Controller\Accounts
  • Balance\Mvc\Controller\Configs
  • Balance\Mvc\Controller\Home
  • Balance\Mvc\Controller\Postings
  • Balance\Posting\Checker
  • Balance\Stdlib\Hydrator\Strategy\Datetime
  • Balance\View\Table\Table

Interfaces

  • Balance\Model\Persistence\PersistenceInterface
  • Balance\Model\Persistence\ValueOptionsInterface
  • Balance\Mvc\Controller\ModelAwareInterface
  • Balance\Mvc\Controller\RedirectRouteNameAwareInterface

Traits

  • Balance\Mvc\Controller\EditActionTrait
  • Balance\Mvc\Controller\IndexActionTrait
  • Balance\Mvc\Controller\ModelAwareTrait
  • Balance\Mvc\Controller\RedirectRouteNameAwareTrait
  • Balance\Mvc\Controller\RemoveActionTrait

Exceptions

  • Balance\Form\FormException
  • Balance\InputFilter\InputFilterException
  • Balance\Model\ModelException
 1 <?php
 2 
 3 namespace Balance\Mvc\Controller;
 4 
 5 use Zend\Mvc\Controller\AbstractActionController;
 6 use Zend\ServiceManager\AbstractFactoryInterface;
 7 use Zend\ServiceManager\ServiceLocatorInterface;
 8 
 9 /**
10  * Construtor de Camada de Controle
11  */
12 class AbstractControllerFactory implements AbstractFactoryInterface
13 {
14     /**
15      * {@inheritdoc}
16      */
17     public function canCreateServiceWithName(ServiceLocatorInterface $serviceLocator, $name, $requestedName)
18     {
19         // Captura de Configuração
20         $config = $serviceLocator->getServiceLocator()->get('Config')['balance_manager']['factories'];
21         // Configurado e Parâmetros Corretos?
22         return
23             isset($config[$requestedName])
24             && class_exists($requestedName)
25             && is_subclass_of($requestedName, AbstractActionController::CLASS)
26             && isset($config[$requestedName]['factory'])
27             && $config[$requestedName]['factory'] === __CLASS__;
28     }
29 
30     /**
31      * {@inheritdoc}
32      */
33     public function createServiceWithName(ServiceLocatorInterface $serviceLocator, $name, $requestedName)
34     {
35         // Localizador Superior
36         $parentServiceLocator = $serviceLocator->getServiceLocator();
37         // Captura de Configuração
38         $config = $parentServiceLocator->get('Config')['balance_manager']['factories'][$requestedName];
39 
40         // Inicialização
41         $controller = new $requestedName();
42 
43         // Camada de Modelo?
44         if ($controller instanceof ModelAwareInterface) {
45             // Solicitar Camada de Modelo
46             $model = $parentServiceLocator->get($config['params']['model']);
47             // Configuração
48             $controller->setModel($model);
49         }
50 
51         // Rota para Redirecionamento?
52         if ($controller instanceof RedirectRouteNameAwareInterface) {
53             // Captura de Rota para Redirecionamento
54             $redirectRouteName = $config['params']['redirect_route_name'];
55             // Configuração
56             $controller->setRedirectRouteName($redirectRouteName);
57         }
58 
59         // Apresentação
60         return $controller;
61     }
62 }
63 
Balance API documentation generated by ApiGen