private function executeController($controller, Route $method, $matches) {

		if(false === is_object($controller)) {
			return trigger_error(sprintf('Argument 1 passed to %s() must be of the type object, "%s" given', __METHOD__, gettype($controller)), E_USER_ERROR);
		}

		if(false === is_array($matches)) {
			return trigger_error(sprintf('Argument 2 passed to %s() must be of the type array, "%s" given', __METHOD__, gettype($matches)), E_USER_ERROR);
		}

		//Load the module dispatch file if exists and readable
		$this -> loadBoot($method -> getModule());

		//Execute start method if controller supports it
		if(true === is_callable([$controller, '__start'])) {
			call_user_func_array([$controller, '__start'], []);
		}

		//Execute main function
		$action = Application :: get(['prefix', 'action']) . $method -> getAction();

		//Trigger error if main function does not exists
		if(false === is_callable([$controller, $action])) {
			return trigger_error(sprintf('Method "%s" does not exists in "%s" controller', Application :: get(['prefix', 'action']) . ucfirst($method -> getAction()), $method -> getController()), E_USER_ERROR);
		}

		call_user_func_array([$controller, $action], $matches);

		//Execute end method if controller supports it
		if(true === is_callable([$controller, '__end'])) {
			call_user_func_array([$controller, '__end'], []);
		}
	}
private function executeController($controller, Route $method, $matches) {

		if(false === is_object($controller)) {
			return trigger_error(sprintf('Argument 1 passed to %s() must be of the type object, "%s" given', __METHOD__, gettype($controller)), E_USER_ERROR);
		}

		if(false === is_array($matches)) {
			return trigger_error(sprintf('Argument 2 passed to %s() must be of the type array, "%s" given', __METHOD__, gettype($matches)), E_USER_ERROR);
		}

		//Load the module dispatch file if exists and readable
		$this -> loadBoot($method -> getModule());

		//Execute start method if controller supports it
		if(true === is_callable([$controller, '__start'])) {
			call_user_func_array([$controller, '__start'], []);
		}

		//Execute main function
		$action = Application :: get(['prefix', 'action']) . $method -> getAction();

		//Trigger error if main function does not exists
		if(false === is_callable([$controller, $action])) {
			return trigger_error(sprintf('Method "%s" does not exists in "%s" controller', Application :: get(['prefix', 'action']) . ucfirst($method -> getAction()), $method -> getController()), E_USER_ERROR);
		}

		call_user_func_array([$controller, $action], $matches);

		//Execute end method if controller supports it
		if(true === is_callable([$controller, '__end'])) {
			call_user_func_array([$controller, '__end'], []);
		}
	}
private function executeController ( $ controller , Route $ method , $ matches ) { if ( false === is_object ( $ controller ) ) { return trigger_error ( sprintf ( 'Argument 1 passed to %s() must be of the type object, "%s" given' , __METHOD__ , gettype ( $ controller ) ) , E_USER_ERROR ) ; } if ( false === is_array ( $ matches ) ) { return trigger_error ( sprintf ( 'Argument 2 passed to %s() must be of the type array, "%s" given' , __METHOD__ , gettype ( $ matches ) ) , E_USER_ERROR ) ; } //Load the module dispatch file if exists and readable
 $ this -> loadBoot ( $ method -> getModule ( ) ) ; //Execute start method if controller supports it
 if ( true === is_callable ( [ $ controller , '__start' ] ) ) { call_user_func_array ( [ $ controller , '__start' ] , [ ] ) ; } //Execute main function
 $ action = Application :: get ( [ 'prefix' , 'action' ] ) . $ method -> getAction ( ) ; //Trigger error if main function does not exists
 if ( false === is_callable ( [ $ controller , $ action ] ) ) { return trigger_error ( sprintf ( 'Method "%s" does not exists in "%s" controller' , Application :: get ( [ 'prefix' , 'action' ] ) . ucfirst ( $ method -> getAction ( ) ) , $ method -> getController ( ) ) , E_USER_ERROR ) ; } call_user_func_array ( [ $ controller , $ action ] , $ matches ) ; //Execute end method if controller supports it
 if ( true === is_callable ( [ $ controller , '__end' ] ) ) { call_user_func_array ( [ $ controller , '__end' ] , [ ] ) ; } }
Executes default controller functions
@param object $controller
@param sFire\Routing\Extend\Route $method
@param array $matches
Executes default controller functions