Class ControllerTestDispatcher
ControllerTestDispatcher class
- Dispatcher
- ControllerTestDispatcher
Copyright: Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: Cake/TestSuite/ControllerTestCase.php
Properties summary
-
$loadRoutes
publicboolean
Use custom routes during tests -
$testController
publicThe controller to use in the dispatch process
Method Summary
-
_getController() public
Returns the test controller -
_loadRoutes() protected
Loads routes and resets if the test case dictates it should
Method Detail
_getController() public ¶
_getController( CakeRequest
$request , CakeResponse
$response )
Returns the test controller
Parameters
-
CakeRequest
$request - Request object
-
CakeResponse
$response - Response for the controller.
Returns
Overrides
Methods inherited from Dispatcher
__construct() public ¶
__construct( string $base = false )
Constructor.
Parameters
- string $base optional false
- The base directory for the application. Writes
App.base
to Configure.
_deliverAsset() protected ¶
_deliverAsset( CakeResponse
$response , string $assetFile , string $ext )
Sends an asset file to the client
Parameters
-
CakeResponse
$response - The response object to use.
- string $assetFile
- Path to the asset file in the file system
- string $ext
- The extension of the file to determine its mime type
_invoke() protected ¶
_invoke( Controller
$controller , CakeRequest
$request , CakeResponse
$response )
Initializes the components and models a controller will be using. Triggers the controller action, and invokes the rendering if Controller::$autoRender is true and echo's the output. Otherwise the return value of the controller action are returned.
Parameters
-
Controller
$controller - Controller to invoke
-
CakeRequest
$request - The request object to invoke the controller for.
-
CakeResponse
$response - The response object to receive the output
_loadController() protected ¶
_loadController( CakeRequest
$request )
Load controller and return controller classname
Parameters
-
CakeRequest
$request
Returns
Name of controller class name
asset() public ¶
asset( string $url , CakeResponse
$response )
Checks if a requested asset exists and sends it to the browser
Parameters
- string $url
- Requested URL
-
CakeResponse
$response - The response object to put the file contents in.
Returns
True on success if the asset file was found and sent
cached() public ¶
cached( string $path )
Outputs cached dispatch view cache
Parameters
- string $path
- Requested URL path with any query string parameters
Returns
False if is not cached or output
dispatch() public ¶
dispatch( CakeRequest
$request , CakeResponse
$response , array $additionalParams = array() )
Dispatches and invokes given Request, handing over control to the involved controller. If the controller is set to autoRender, via Controller::$autoRender, then Dispatcher will render the view.
Actions in CakePHP can be any public method on a controller, that is not declared in Controller. If you
want controller methods to be public and in-accessible by URL, then prefix them with a _
.
For example public function _loadPosts() { }
would not be accessible via URL. Private and protected methods
are also not accessible via URL.
If no controller of given name can be found, invoke() will throw an exception. If the controller is found, and the action is not found an exception will be thrown.
Parameters
-
CakeRequest
$request - Request object to dispatch.
-
CakeResponse
$response - Response object to put the results of the dispatch into.
- array $additionalParams optional array()
- Settings array ("bare", "return") which is melded with the GET and POST params
Returns
Success
Throws
MissingActionException, PrivateActionException if any of those error states are encountered.
parseParams() public ¶
parseParams( CakeRequest
$request , array $additionalParams = array() )
Applies Routing and additionalParameters to the request to be dispatched. If Routes have not been loaded they will be loaded, and app/Config/routes.php will be run.
Parameters
-
CakeRequest
$request - CakeRequest object to mine for parameter information.
- array $additionalParams optional array()
An array of additional parameters to set to the request. Useful when Object::requestAction() is involved