[Beeframework-svn] SF.net SVN: beeframework:[85] trunk/framework/Bee/MVC
Brought to you by:
b_hartmann,
m_plomer
From: <m_p...@us...> - 2013-09-08 23:14:34
|
Revision: 85 http://sourceforge.net/p/beeframework/code/85 Author: m_plomer Date: 2013-09-08 23:14:32 +0000 (Sun, 08 Sep 2013) Log Message: ----------- - MVC Dispatcher: bypass view resolution and rendering if controller did not return MAV object - HandlerExecutionChain: fixed interceptor type hints Modified Paths: -------------- trunk/framework/Bee/MVC/Dispatcher.php trunk/framework/Bee/MVC/HandlerExecutionChain.php Modified: trunk/framework/Bee/MVC/Dispatcher.php =================================================================== --- trunk/framework/Bee/MVC/Dispatcher.php 2013-09-02 20:36:30 UTC (rev 84) +++ trunk/framework/Bee/MVC/Dispatcher.php 2013-09-08 23:14:32 UTC (rev 85) @@ -257,17 +257,19 @@ throw $e; } } - - $mav->addModelValue(Bee_MVC_Model::CURRENT_REQUEST_KEY, $request); - $this->resolveModelAndView($mav); - - // Apply postHandle methods of registered interceptors. - for ($i = $interceptors_length - 1; $i >= 0; $i--) { - $interceptor = $interceptors[$i]; - $interceptor->postHandle($request, $handler, $mav); + + if($mav instanceof Bee_MVC_ModelAndView) { + $mav->addModelValue(Bee_MVC_Model::CURRENT_REQUEST_KEY, $request); + $this->resolveModelAndView($mav); + + // Apply postHandle methods of registered interceptors. + for ($i = $interceptors_length - 1; $i >= 0; $i--) { + $interceptor = $interceptors[$i]; + $interceptor->postHandle($request, $handler, $mav); + } + + $mav->renderModelInView(); } - - $mav->renderModelInView(); } catch (Exception $e) { throw $e; } Modified: trunk/framework/Bee/MVC/HandlerExecutionChain.php =================================================================== --- trunk/framework/Bee/MVC/HandlerExecutionChain.php 2013-09-02 20:36:30 UTC (rev 84) +++ trunk/framework/Bee/MVC/HandlerExecutionChain.php 2013-09-08 23:14:32 UTC (rev 85) @@ -38,13 +38,13 @@ * @var array */ private $interceptors = array(); - - - + + /** * Enter description here... * - * @param Bee_MVC_IController $controller + * @param Bee_MVC_IController $handler + * @internal param \Bee_MVC_IController $controller */ public function __construct(Bee_MVC_IController $handler) { $this->handler = $handler; @@ -55,10 +55,10 @@ /** * Enter description here... * - * @param Bee_MVC_Controller_IHandlerInterceptor $interceptor + * @param Bee_MVC_IHandlerInterceptor $interceptor * @return void */ - public function addInterceptor(Bee_MVC_Controller_IHandlerInterceptor $interceptor) { + public function addInterceptor(Bee_MVC_IHandlerInterceptor $interceptor) { array_push($this->interceptors, $interceptor); } @@ -67,7 +67,7 @@ /** * Enter description here... * - * @param array $interceptors + * @param Bee_MVC_IHandlerInterceptor[] $interceptors * @return void */ public function addInterceptors(array $interceptors) { @@ -89,11 +89,9 @@ /** * Enter description here... * - * @return array + * @return Bee_MVC_IHandlerInterceptor[] */ public function getInterceptors() { return $this->interceptors; } -} - -?> \ No newline at end of file +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |