// 设置当前请求的控制器、操作
$request->controller(Loader::parseName($controller, 1))->action($actionName);
// 监听module_init
Hook::listen('module_init', $request);
$instance = Loader::controller($controller, $config['url_controller_layer'], $config['controller_suffix'], $config['empty_controller']);
if (is_null($instance)) {
throw new HttpException(404, 'controller not exists:' . Loader::parseName($controller, 1));
}
// 获取当前操作名
$action = $actionName . $config['action_suffix'];
$vars = [];
if (is_callable([$instance, $action])) {
// 执行操作方法
$call = [$instance, $action];
} elseif (is_callable([$instance, '_empty'])) {
USER | www |
HOME | /home/www |
FCGI_ROLE | RESPONDER |
SCRIPT_FILENAME | /home/qyclever/index.php |
PATH_INFO | /view.html |
QUERY_STRING | |
REQUEST_METHOD | GET |
CONTENT_TYPE | |
CONTENT_LENGTH | |
SCRIPT_NAME | /index.php |
REQUEST_URI | /view.html |
DOCUMENT_URI | /index.php/view.html |
DOCUMENT_ROOT | /home/qyclever |
SERVER_PROTOCOL | HTTP/1.1 |
REQUEST_SCHEME | http |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_SOFTWARE | nginx/1.24.0 |
REMOTE_ADDR | 3.88.254.50 |
REMOTE_PORT | 57180 |
SERVER_ADDR | 172.29.103.92 |
SERVER_PORT | 80 |
SERVER_NAME | www.qyclever.com |
REDIRECT_STATUS | 200 |
HTTP_ACCEPT | */* |
HTTP_USER_AGENT | claudebot |
HTTP_HOST | www.qyclever.com |
PHP_SELF | /index.php/view.html |
REQUEST_TIME_FLOAT | 1711672646.6995 |
REQUEST_TIME | 1711672646 |
argv | [] |
argc | 0 |
USER | www |
HOME | /home/www |
FCGI_ROLE | RESPONDER |
SCRIPT_FILENAME | /home/qyclever/index.php |
PATH_INFO | /view.html |
QUERY_STRING | |
REQUEST_METHOD | GET |
CONTENT_TYPE | |
CONTENT_LENGTH | |
SCRIPT_NAME | /index.php |
REQUEST_URI | /view.html |
DOCUMENT_URI | /index.php/view.html |
DOCUMENT_ROOT | /home/qyclever |
SERVER_PROTOCOL | HTTP/1.1 |
REQUEST_SCHEME | http |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_SOFTWARE | nginx/1.24.0 |
REMOTE_ADDR | 3.88.254.50 |
REMOTE_PORT | 57180 |
SERVER_ADDR | 172.29.103.92 |
SERVER_PORT | 80 |
SERVER_NAME | www.qyclever.com |
REDIRECT_STATUS | 200 |
HTTP_ACCEPT | */* |
HTTP_USER_AGENT | claudebot |
HTTP_HOST | www.qyclever.com |
PHP_SELF | /index.php/view.html |
REQUEST_TIME_FLOAT | 1711672646.6995 |
REQUEST_TIME | 1711672646 |
argv | [] |
argc | 0 |
APP_PATH | /home/qyclever/app/ |
STATIC_PATH | /static/ |
BIND_MODULE | www |
THINK_VERSION | 5.0.4 |
THINK_START_TIME | 1711672646.6999 |
THINK_START_MEM | 255576 |
EXT | .php |
DS | / |
THINK_PATH | /home/qyclever/thinkphp/ |
LIB_PATH | /home/qyclever/thinkphp/library/ |
CORE_PATH | /home/qyclever/thinkphp/library/think/ |
TRAIT_PATH | /home/qyclever/thinkphp/library/traits/ |
ROOT_PATH | /home/qyclever/ |
EXTEND_PATH | /home/qyclever/extend/ |
VENDOR_PATH | /home/qyclever/vendor/ |
RUNTIME_PATH | /home/qyclever/runtime/ |
LOG_PATH | /home/qyclever/runtime/log/ |
CACHE_PATH | /home/qyclever/runtime/cache/ |
TEMP_PATH | /home/qyclever/runtime/temp/ |
CONF_PATH | /home/qyclever/app/ |
CONF_EXT | .php |
ENV_PREFIX | PHP_ |
IS_CLI | false |
IS_WIN | false |