X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=framework%2Fmain%2Fclasses%2Fcontroller%2Fclass_BaseController.php;h=dc5fe7045a13e3cae5ef180923a85449e54cc8ec;hb=498e6b065ce47804bff4e1073592a2cc8e28f8ef;hp=729f51e1dd1108fb6dd7ac9ed00a4ba52c6a5c31;hpb=cad1ab5ecb2935a6ebf678555860c3bd96b525b0;p=core.git diff --git a/framework/main/classes/controller/class_BaseController.php b/framework/main/classes/controller/class_BaseController.php index 729f51e1..dc5fe704 100644 --- a/framework/main/classes/controller/class_BaseController.php +++ b/framework/main/classes/controller/class_BaseController.php @@ -7,9 +7,10 @@ use Org\Mxchange\CoreFramework\Chain\Filter\InvalidFilterChainException; use Org\Mxchange\CoreFramework\Factory\ObjectFactory; use Org\Mxchange\CoreFramework\Filter\Filterable; use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem; -use Org\Mxchange\CoreFramework\Registry\Registry; +use Org\Mxchange\CoreFramework\Registry\GenericRegistry; use Org\Mxchange\CoreFramework\Registry\Registerable; use Org\Mxchange\CoreFramework\Request\Requestable; +use Org\Mxchange\CoreFramework\Resolver\Resolver; use Org\Mxchange\CoreFramework\Response\Responseable; /** @@ -19,11 +20,7 @@ use Org\Mxchange\CoreFramework\Response\Responseable; * * @author Roland Haeder * @version 0.0.0 -<<<<<<< HEAD:framework/main/classes/controller/class_BaseController.php - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team -======= - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2016 Core Developer Team ->>>>>>> Some updates::inc/main/classes/controller/class_BaseController.php + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2020 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org * @@ -48,10 +45,15 @@ abstract class BaseController extends BaseFrameworkSystem implements Registerabl const FILTER_CHAIN_PRE_COMMAND = 'controller_pre_command'; const FILTER_CHAIN_POST_COMMAND = 'controller_post_command'; + /** + * Resolver instance + */ + private $resolverInstance = NULL; + /** * Generic filter chains */ - private $filterChains = array(); + private $filterChains = []; /** * Protected constructor @@ -59,7 +61,7 @@ abstract class BaseController extends BaseFrameworkSystem implements Registerabl * @param $className Name of the class * @return void */ - protected function __construct ($className) { + protected function __construct (string $className) { // Call parent constructor parent::__construct($className); @@ -68,7 +70,26 @@ abstract class BaseController extends BaseFrameworkSystem implements Registerabl $this->initFilterChain(self::FILTER_CHAIN_POST_COMMAND); // Add this controller to the registry - Registry::getRegistry()->addInstance('controller', $this); + GenericRegistry::getRegistry()->addInstance('controller', $this); + } + + /** + * Setter for resolver instance + * + * @param $resolverInstance Instance of a command resolver class + * @return void + */ + protected final function setResolverInstance (Resolver $resolverInstance) { + $this->resolverInstance = $resolverInstance; + } + + /** + * Getter for resolver instance + * + * @return $resolverInstance Instance of a command resolver class + */ + protected final function getResolverInstance () { + return $this->resolverInstance; } /** @@ -114,7 +135,7 @@ abstract class BaseController extends BaseFrameworkSystem implements Registerabl $formAction = $requestInstance->getRequestElement('form'); // Get command instance from resolver - $commandInstance = $this->getResolverInstance()->resolveCommand($formAction); + $commandInstance = $this->getResolverInstance()->resolveCommand('Org\Mxchange\CoreFramework\Command\Failed', $formAction); // Add more filters by the command $commandInstance->addExtraFilters($this, $requestInstance);