From: Roland Häder Date: Sun, 19 Jul 2009 17:34:00 +0000 (+0000) Subject: Better encapsulated X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=46f92fe63badaf1a2f2cddfaf9d3959f7787bbf2;p=core.git Better encapsulated --- diff --git a/inc/classes/main/controller/class_BaseController.php b/inc/classes/main/controller/class_BaseController.php index 3462effa..9fd257c2 100644 --- a/inc/classes/main/controller/class_BaseController.php +++ b/inc/classes/main/controller/class_BaseController.php @@ -61,6 +61,17 @@ class BaseController extends BaseFrameworkSystem implements Registerable { $this->filterChains[$filterChain] = ObjectFactory::createObjectByConfiguredName('filter_chain_class'); } + /** + * Adds a filter to a given filter group + * + * @param $filterGroup Group of the filter + * @param $filterInstance An instance of a filter + * @return void + */ + protected function add addFilter ($filterGroup, Filterable $filterInstance) { + $this->filterChains[$filterGroup]->addFilter($filterInstance); + } + /** * Adds a filter to the pre filter chain * @@ -69,7 +80,7 @@ class BaseController extends BaseFrameworkSystem implements Registerable { */ public function addPreFilter (Filterable $filterInstance) { // Add the pre filter - $this->filterChains['pre']->addFilter($filterInstance); + $this->addFilter('pre', $filterInstance); } /** @@ -80,7 +91,19 @@ class BaseController extends BaseFrameworkSystem implements Registerable { */ public function addPostFilter (Filterable $filterInstance) { // Add the post filter - $this->filterChains['post']->addFilter($filterInstance); + $this->addFilter('post', $filterInstance); + } + + /** + * Executes given filter chain group + * + * @param $filterGroup Group of the filter to execute + * @param $requestInstance An instance of a request class + * @param $responseInstance An instance of a response class + * @return void + */ + protected function executeFilters ($filterGroup, Requestable $requestInstance, Responseable $responseInstance) { + $this->filterChains[$filterGroup]->processFilters($requestInstance, $responseInstance); } /** @@ -92,7 +115,7 @@ class BaseController extends BaseFrameworkSystem implements Registerable { */ protected function executePreFilters (Requestable $requestInstance, Responseable $responseInstance) { // Execute all pre filters - $this->filterChains['pre']->processFilters($requestInstance, $responseInstance); + $this->executeFilters('pre', $requestInstance, $responseInstance); } /** @@ -104,7 +127,7 @@ class BaseController extends BaseFrameworkSystem implements Registerable { */ protected function executePostFilters (Requestable $requestInstance, Responseable $responseInstance) { // Execute all post filters - $this->filterChains['post']->processFilters($requestInstance, $responseInstance); + $this->executeFilters('post', $requestInstance, $responseInstance); } }