The action recoveryOptions is not defined in UsersController
if ($result instanceof Response) { |
|
return $result; |
|
} |
|
|
|
$response = $controller->invokeAction(); |
|
if ($response !== null && !($response instanceof Response)) { |
|
throw new LogicException('Controller actions can only return Cake\Network\Response or null.'); |
|
} |
|
|
No arguments
} else { |
|
$controller = $this->factory->create($request, $response); |
|
} |
|
|
|
$response = $this->_invoke($controller); |
|
if (isset($request->params['return'])) { |
|
return $response; |
|
} |
|
|
object(App\Controller\UsersController) { name => 'Users' helpers => [] request => object(Cake\Network\Request) { params => [ [maximum depth reached] ] data => [[maximum depth reached]] query => [[maximum depth reached]] cookies => [[maximum depth reached]] url => 'users/recovery_options' base => '/betterapp/admin' webroot => '/betterapp/admin/' here => '/betterapp/admin/users/recovery_options' trustProxy => false [protected] _environment => [ [maximum depth reached] ] [protected] _detectors => [ [maximum depth reached] ] [protected] _detectorCache => [ [maximum depth reached] ] [protected] _input => '' [protected] _session => object(Cake\Network\Session) {} } response => object(Cake\Network\Response) { 'status' => (int) 200, 'contentType' => 'text/html', 'headers' => [[maximum depth reached]], 'file' => null, 'fileRange' => [[maximum depth reached]], 'cookies' => [[maximum depth reached]], 'cacheDirectives' => [[maximum depth reached]], 'body' => null } paginate => [] autoRender => true components => [] View => null plugin => null passedArgs => [] modelClass => 'Users' viewClass => null viewVars => [] RequestHandler => object(Cake\Controller\Component\RequestHandlerComponent) { 'components' => [[maximum depth reached]], 'implementedEvents' => [ [maximum depth reached] ], '_config' => [ [maximum depth reached] ] } Flash => object(Cake\Controller\Component\FlashComponent) { 'components' => [[maximum depth reached]], 'implementedEvents' => [[maximum depth reached]], '_config' => [ [maximum depth reached] ] } Auth => object(Cake\Controller\Component\AuthComponent) { 'components' => [ [maximum depth reached] ], 'implementedEvents' => [ [maximum depth reached] ], '_config' => [ [maximum depth reached] ] } [protected] _responseClass => 'Cake\Network\Response' [protected] _components => object(Cake\Controller\ComponentRegistry) { '_Controller' => object(App\Controller\UsersController) {}, '_loaded' => [ [maximum depth reached] ], '_eventManager' => object(Cake\Event\EventManager) {}, '_eventClass' => '\Cake\Event\Event' } [protected] _validViewOptions => [ (int) 0 => 'passedArgs' ] [protected] _eventManager => object(Cake\Event\EventManager) { '_listeners' => [ [maximum depth reached] ], '_isGlobal' => false, '_eventList' => null, '_trackEvents' => false, '_generalManager' => '(object) EventManager' } [protected] _eventClass => '\Cake\Event\Event' [protected] _tableLocator => object(Cake\ORM\Locator\TableLocator) { [protected] _config => [[maximum depth reached]] [protected] _instances => [[maximum depth reached]] [protected] _fallbacked => [[maximum depth reached]] [protected] _options => [[maximum depth reached]] } [protected] _modelFactories => [ 'Table' => [ (int) 0 => object(Cake\ORM\Locator\TableLocator) {}, (int) 1 => 'get' ] ] [protected] _modelType => 'Table' [protected] _viewBuilder => null }
*/ |
|
public function dispatch(Request $request, Response $response) |
|
{ |
|
$actionDispatcher = new ActionDispatcher(null, $this->eventManager(), $this->_filters); |
|
$response = $actionDispatcher->dispatch($request, $response); |
|
if (isset($request->params['return'])) { |
|
return $response->body(); |
|
} |
|
|
object(Cake\Network\Request) { params => [ 'plugin' => null, 'controller' => 'Users', 'action' => 'recoveryOptions', '_ext' => null, 'pass' => [], '_matchedRoute' => '/:controller/:action/*', 'isAjax' => false ] data => [] query => [] cookies => [] url => 'users/recovery_options' base => '/betterapp/admin' webroot => '/betterapp/admin/' here => '/betterapp/admin/users/recovery_options' trustProxy => false [protected] _environment => [ 'REDIRECT_REDIRECT_HTTPS' => 'on', 'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'betterapp.betterware.com.mx', 'REDIRECT_REDIRECT_STATUS' => '200', 'REDIRECT_HTTPS' => 'on', 'REDIRECT_SSL_TLS_SNI' => 'betterapp.betterware.com.mx', 'REDIRECT_STATUS' => '200', 'HTTPS' => 'on', 'SSL_TLS_SNI' => 'betterapp.betterware.com.mx', 'SSL_SERVER_S_DN_CN' => '*.betterware.com.mx', 'SSL_SERVER_I_DN_C' => 'LV', 'SSL_SERVER_I_DN_L' => 'Riga', 'SSL_SERVER_I_DN_O' => 'GoGetSSL', 'SSL_SERVER_I_DN_CN' => 'GoGetSSL RSA DV CA', 'SSL_SERVER_SAN_DNS_0' => '*.betterware.com.mx', 'SSL_SERVER_SAN_DNS_1' => 'betterware.com.mx', 'SSL_VERSION_INTERFACE' => 'mod_ssl/2.4.29', 'SSL_VERSION_LIBRARY' => 'OpenSSL/1.1.1g', 'SSL_PROTOCOL' => 'TLSv1.2', 'SSL_SECURE_RENEG' => 'true', 'SSL_COMPRESS_METHOD' => 'NULL', 'SSL_CIPHER' => 'ECDHE-RSA-AES256-GCM-SHA384', 'SSL_CIPHER_EXPORT' => 'false', 'SSL_CIPHER_USEKEYSIZE' => '256', 'SSL_CIPHER_ALGKEYSIZE' => '256', 'SSL_CLIENT_VERIFY' => 'NONE', 'SSL_SERVER_M_VERSION' => '3', 'SSL_SERVER_M_SERIAL' => '2F83D03274C9AF8C256BE60BA96DAD22', 'SSL_SERVER_V_START' => 'Oct 26 00:00:00 2023 GMT', 'SSL_SERVER_V_END' => 'Nov 25 23:59:59 2024 GMT', 'SSL_SERVER_S_DN' => 'CN=*.betterware.com.mx', 'SSL_SERVER_I_DN' => 'CN=GoGetSSL RSA DV CA,O=GoGetSSL,L=Riga,C=LV', 'SSL_SERVER_A_KEY' => 'rsaEncryption', 'SSL_SERVER_A_SIG' => 'sha256WithRSAEncryption', 'SSL_SESSION_RESUMED' => 'Initial', 'HTTP_ACCEPT' => '*/*', 'HTTP_USER_AGENT' => 'claudebot', 'HTTP_HOST' => 'betterapp.betterware.com.mx', 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at betterapp.betterware.com.mx Port 443</address> ', 'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)', 'SERVER_NAME' => 'betterapp.betterware.com.mx', 'SERVER_ADDR' => '172.31.56.4', 'SERVER_PORT' => '443', 'REMOTE_ADDR' => '54.167.52.238', 'DOCUMENT_ROOT' => '/var/www/html', 'REQUEST_SCHEME' => 'https', 'CONTEXT_PREFIX' => '', 'CONTEXT_DOCUMENT_ROOT' => '/var/www/html', 'SERVER_ADMIN' => 'sistemas@better.com.mx', 'SCRIPT_FILENAME' => '/var/www/html/betterapp/admin/webroot/index.php', 'REMOTE_PORT' => '52950', 'REDIRECT_URL' => '/betterapp/admin/webroot/users/recovery_options', 'GATEWAY_INTERFACE' => 'CGI/1.1', 'SERVER_PROTOCOL' => 'HTTP/1.1', 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => '', 'REQUEST_URI' => '/betterapp/admin/users/recovery_options', 'SCRIPT_NAME' => '/betterapp/admin/webroot/index.php', 'PHP_SELF' => '/betterapp/admin/webroot/index.php', 'REQUEST_TIME_FLOAT' => (float) 1711655950.075, 'REQUEST_TIME' => (int) 1711655950, 'HTTP_X_HTTP_METHOD_OVERRIDE' => null, 'ORIGINAL_REQUEST_METHOD' => 'GET', 'HTTP_X_REQUESTED_WITH' => null, 'HTTP_IF_NONE_MATCH' => null, 'HTTP_IF_MODIFIED_SINCE' => null ] [protected] _detectors => [ 'get' => [ 'env' => 'REQUEST_METHOD', 'value' => 'GET' ], 'post' => [ 'env' => 'REQUEST_METHOD', 'value' => 'POST' ], 'put' => [ 'env' => 'REQUEST_METHOD', 'value' => 'PUT' ], 'patch' => [ 'env' => 'REQUEST_METHOD', 'value' => 'PATCH' ], 'delete' => [ 'env' => 'REQUEST_METHOD', 'value' => 'DELETE' ], 'head' => [ 'env' => 'REQUEST_METHOD', 'value' => 'HEAD' ], 'options' => [ 'env' => 'REQUEST_METHOD', 'value' => 'OPTIONS' ], 'ssl' => [ 'env' => 'HTTPS', 'options' => [ [maximum depth reached] ] ], 'ajax' => [ 'env' => 'HTTP_X_REQUESTED_WITH', 'value' => 'XMLHttpRequest' ], 'flash' => [ 'env' => 'HTTP_USER_AGENT', 'pattern' => '/^(Shockwave|Adobe) Flash/' ], 'requested' => [ 'param' => 'requested', 'value' => (int) 1 ], 'json' => [ 'accept' => [ [maximum depth reached] ], 'param' => '_ext', 'value' => 'json' ], 'xml' => [ 'accept' => [ [maximum depth reached] ], 'param' => '_ext', 'value' => 'xml' ], 'mobile' => object(Closure) {}, 'tablet' => object(Closure) {} ] [protected] _detectorCache => [ 'ajax' => false, 'get' => true, 'head' => false, 'options' => false ] [protected] _input => '' [protected] _session => object(Cake\Network\Session) { [protected] _engine => null [protected] _started => null [protected] _lifetime => '1440' [protected] _isCLI => false } } object(Cake\Network\Response) { 'status' => (int) 200, 'contentType' => 'text/html', 'headers' => [], 'file' => null, 'fileRange' => [], 'cookies' => [], 'cacheDirectives' => [], 'body' => null }
$dispatcher = DispatcherFactory::create(); |
|
$dispatcher->dispatch( |
|
Request::createFromGlobals(), |
|
new Response() |
|
); |
|
|
object(Cake\Network\Request) { params => [ 'plugin' => null, 'controller' => 'Users', 'action' => 'recoveryOptions', '_ext' => null, 'pass' => [], '_matchedRoute' => '/:controller/:action/*', 'isAjax' => false ] data => [] query => [] cookies => [] url => 'users/recovery_options' base => '/betterapp/admin' webroot => '/betterapp/admin/' here => '/betterapp/admin/users/recovery_options' trustProxy => false [protected] _environment => [ 'REDIRECT_REDIRECT_HTTPS' => 'on', 'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'betterapp.betterware.com.mx', 'REDIRECT_REDIRECT_STATUS' => '200', 'REDIRECT_HTTPS' => 'on', 'REDIRECT_SSL_TLS_SNI' => 'betterapp.betterware.com.mx', 'REDIRECT_STATUS' => '200', 'HTTPS' => 'on', 'SSL_TLS_SNI' => 'betterapp.betterware.com.mx', 'SSL_SERVER_S_DN_CN' => '*.betterware.com.mx', 'SSL_SERVER_I_DN_C' => 'LV', 'SSL_SERVER_I_DN_L' => 'Riga', 'SSL_SERVER_I_DN_O' => 'GoGetSSL', 'SSL_SERVER_I_DN_CN' => 'GoGetSSL RSA DV CA', 'SSL_SERVER_SAN_DNS_0' => '*.betterware.com.mx', 'SSL_SERVER_SAN_DNS_1' => 'betterware.com.mx', 'SSL_VERSION_INTERFACE' => 'mod_ssl/2.4.29', 'SSL_VERSION_LIBRARY' => 'OpenSSL/1.1.1g', 'SSL_PROTOCOL' => 'TLSv1.2', 'SSL_SECURE_RENEG' => 'true', 'SSL_COMPRESS_METHOD' => 'NULL', 'SSL_CIPHER' => 'ECDHE-RSA-AES256-GCM-SHA384', 'SSL_CIPHER_EXPORT' => 'false', 'SSL_CIPHER_USEKEYSIZE' => '256', 'SSL_CIPHER_ALGKEYSIZE' => '256', 'SSL_CLIENT_VERIFY' => 'NONE', 'SSL_SERVER_M_VERSION' => '3', 'SSL_SERVER_M_SERIAL' => '2F83D03274C9AF8C256BE60BA96DAD22', 'SSL_SERVER_V_START' => 'Oct 26 00:00:00 2023 GMT', 'SSL_SERVER_V_END' => 'Nov 25 23:59:59 2024 GMT', 'SSL_SERVER_S_DN' => 'CN=*.betterware.com.mx', 'SSL_SERVER_I_DN' => 'CN=GoGetSSL RSA DV CA,O=GoGetSSL,L=Riga,C=LV', 'SSL_SERVER_A_KEY' => 'rsaEncryption', 'SSL_SERVER_A_SIG' => 'sha256WithRSAEncryption', 'SSL_SESSION_RESUMED' => 'Initial', 'HTTP_ACCEPT' => '*/*', 'HTTP_USER_AGENT' => 'claudebot', 'HTTP_HOST' => 'betterapp.betterware.com.mx', 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at betterapp.betterware.com.mx Port 443</address> ', 'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)', 'SERVER_NAME' => 'betterapp.betterware.com.mx', 'SERVER_ADDR' => '172.31.56.4', 'SERVER_PORT' => '443', 'REMOTE_ADDR' => '54.167.52.238', 'DOCUMENT_ROOT' => '/var/www/html', 'REQUEST_SCHEME' => 'https', 'CONTEXT_PREFIX' => '', 'CONTEXT_DOCUMENT_ROOT' => '/var/www/html', 'SERVER_ADMIN' => 'sistemas@better.com.mx', 'SCRIPT_FILENAME' => '/var/www/html/betterapp/admin/webroot/index.php', 'REMOTE_PORT' => '52950', 'REDIRECT_URL' => '/betterapp/admin/webroot/users/recovery_options', 'GATEWAY_INTERFACE' => 'CGI/1.1', 'SERVER_PROTOCOL' => 'HTTP/1.1', 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => '', 'REQUEST_URI' => '/betterapp/admin/users/recovery_options', 'SCRIPT_NAME' => '/betterapp/admin/webroot/index.php', 'PHP_SELF' => '/betterapp/admin/webroot/index.php', 'REQUEST_TIME_FLOAT' => (float) 1711655950.075, 'REQUEST_TIME' => (int) 1711655950, 'HTTP_X_HTTP_METHOD_OVERRIDE' => null, 'ORIGINAL_REQUEST_METHOD' => 'GET', 'HTTP_X_REQUESTED_WITH' => null, 'HTTP_IF_NONE_MATCH' => null, 'HTTP_IF_MODIFIED_SINCE' => null ] [protected] _detectors => [ 'get' => [ 'env' => 'REQUEST_METHOD', 'value' => 'GET' ], 'post' => [ 'env' => 'REQUEST_METHOD', 'value' => 'POST' ], 'put' => [ 'env' => 'REQUEST_METHOD', 'value' => 'PUT' ], 'patch' => [ 'env' => 'REQUEST_METHOD', 'value' => 'PATCH' ], 'delete' => [ 'env' => 'REQUEST_METHOD', 'value' => 'DELETE' ], 'head' => [ 'env' => 'REQUEST_METHOD', 'value' => 'HEAD' ], 'options' => [ 'env' => 'REQUEST_METHOD', 'value' => 'OPTIONS' ], 'ssl' => [ 'env' => 'HTTPS', 'options' => [ [maximum depth reached] ] ], 'ajax' => [ 'env' => 'HTTP_X_REQUESTED_WITH', 'value' => 'XMLHttpRequest' ], 'flash' => [ 'env' => 'HTTP_USER_AGENT', 'pattern' => '/^(Shockwave|Adobe) Flash/' ], 'requested' => [ 'param' => 'requested', 'value' => (int) 1 ], 'json' => [ 'accept' => [ [maximum depth reached] ], 'param' => '_ext', 'value' => 'json' ], 'xml' => [ 'accept' => [ [maximum depth reached] ], 'param' => '_ext', 'value' => 'xml' ], 'mobile' => object(Closure) {}, 'tablet' => object(Closure) {} ] [protected] _detectorCache => [ 'ajax' => false, 'get' => true, 'head' => false, 'options' => false ] [protected] _input => '' [protected] _session => object(Cake\Network\Session) { [protected] _engine => null [protected] _started => null [protected] _lifetime => '1440' [protected] _isCLI => false } } object(Cake\Network\Response) { 'status' => (int) 200, 'contentType' => 'text/html', 'headers' => [], 'file' => null, 'fileRange' => [], 'cookies' => [], 'cacheDirectives' => [], 'body' => null }
Error: Create UsersController::recoveryOptions() in file: src/Controller/UsersController.php.
<?php
namespace App\Controller;
use App\Controller\AppController;
class UsersController extends AppController
{
public function recoveryOptions()
{
}
}
If you want to customize this error message, create src/Template/Error/missing_action.ctp