/** * Run a request and get the response. * * @param \Cake\Network\Request $request The request to execute. * @return \Cake\Network\Response The generated response. */ public function execute($request) { try { $reflect = new ReflectionClass($this->_class); $app = $reflect->newInstanceArgs($this->_constructorArgs); } catch (ReflectionException $e) { throw new LogicException(sprintf('Cannot load "%s" for use in integration testing.', $this->_class)); } // Spy on the controller using the initialize hook instead // of the dispatcher hooks as those will be going away one day. EventManager::instance()->on('Controller.initialize', [$this->_test, 'controllerSpy']); $server = new Server($app); $psrRequest = $this->_createRequest($request); $response = $server->run($psrRequest); return ResponseTransformer::toCake($response); }
* The Front Controller for handling every request * * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) * * Licensed under The MIT License * For full copyright and license information, please see the LICENSE.txt * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) * @link http://cakephp.org CakePHP(tm) Project * @since 0.2.9 * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ // for built-in server if (php_sapi_name() === 'cli-server') { $_SERVER['PHP_SELF'] = '/' . basename(__FILE__); $url = parse_url(urldecode($_SERVER['REQUEST_URI'])); $file = __DIR__ . $url['path']; if (strpos($url['path'], '..') === false && strpos($url['path'], '.') !== false && is_file($file)) { return false; } } require dirname(__DIR__) . '/vendor/autoload.php'; use App\Application; use Cake\Http\Server; // Bind your application to the server. $server = new Server(new Application(dirname(__DIR__) . '/config')); // Run the request/response through the application // and emit the response. $server->emit($server->run());