X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fcontroller%2Fclass_BaseController.php;h=2a1c50f97c0b5a18267c4bd067f8b1d9287941df;hp=5e56de17156a857b5954b8bb03dc0b947cf4a8bc;hb=90e103cb445f53c4ebd18c3f43dff51cbf0aae73;hpb=6952a92d67c0fa73f27e2a17bd352cec4053b04b diff --git a/inc/classes/main/controller/class_BaseController.php b/inc/classes/main/controller/class_BaseController.php index 5e56de17..2a1c50f9 100644 --- a/inc/classes/main/controller/class_BaseController.php +++ b/inc/classes/main/controller/class_BaseController.php @@ -29,6 +29,9 @@ class BaseController extends BaseFrameworkSystem implements Registerable { */ private $filterChains = array(); + // Exception constants + const EXCEPTION_FILTER_CHAIN_INVALID = 0xf10; + /** * Protected constructor * @@ -101,8 +104,16 @@ class BaseController extends BaseFrameworkSystem implements Registerable { * @param $requestInstance An instance of a request class * @param $responseInstance An instance of a response class * @return void + * @throws InvalidFilterChainException If the filter chain is invalid */ protected function executeFilters ($filterGroup, Requestable $requestInstance, Responseable $responseInstance) { + // Test if the filter is there + if (!isset($this->filterChains[$filterGroup])) { + // Throw an exception here + throw new InvalidFilterChainException(array($this, $filterGroup), self::EXCEPTION_FILTER_CHAIN_INVALID); + } // END - if + + // Run all filters $this->filterChains[$filterGroup]->processFilters($requestInstance, $responseInstance); }