tp5总结(三)
1.控制器
1-1.加载页面【使用系统函数eg:http://ww:7070/tp5-2/public/admin/test/load】
1-2.加载页面【继承控制器方法eg:http://ww:7070/tp5-2/public/admin/test/load1或者2】
1-3.数据的返回格式【在config.php中设置,默认是html eg:http://ww:7070/tp5-2/public/admin/test/data】
1-4.控制器的初始化【注意:必须继承控制器 eg:http://ww:7070/tp5-2/public/admin/int】
1-5.前置操作【注意:必须继承控制器 eg:http://ww:7070/tp5-2/public/admin/before】
1-6.页面跳转:【注意:必须继承控制器 eg:http://ww:7070/tp5-2/public/admin/login】
修改跳转过渡页面【config.php查找位置】
// 默认跳转页面对应的模板文件 'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl', 'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
过渡页面在【thinkphp/tpl/dispatch_jump.tpl】可以自行设置
1-7.重定向 【eg:http://ww:7070/tp5-2/public/admin/login/cdx】
1-8.空操作【eg:http://ww:7070/tp5-2/public/admin/login+其他】该控制器没有的方法都执行该方法
1-9.空控制器 在模块中没有的控制器会执行该控制器【http://ww:7070/tp5-2/public/index+其他】
注意:网站上线之前每一个控制器都要加空操作,另外每一个模块也要加一个空控制器
1-10.资源 用cmd命令来创建东西 切换到tp根目录【php think clear】
php think->make:controller app\index\controller\User创建资源控制器,修改资源路由Route::resource('user','index/User');
2.请求和url【eg:http://ww:7070/tp5-2/public/url/api/test1/a/2/b/2】
2-1.
1.请求方式:GET 2.资源类型:xml 3.访问的ip:127.0.0.1 4.请求参数: array(2) { ["a"] => string(1) "2" ["b"] => string(1) "2" } 5.某个请求参数: array(1) { ["a"] => string(1) "2" } 6.除了某个请求参数: array(1) { ["b"] => string(1) "2" } 7.是否ajax: 8.不含域名的请求地址:/tp5-2/public/url/api/test1/a/2/b/2 9.包含完整域名的地址:http://ww:7070/tp5-2/public/url/api/test1/a/2/b/2 10.获取当前域名:http://ww:7070 11.获取当前入口文件:/tp5-2/public/index.php 12.获取不含查询关键字的地址:/tp5-2/public/url/api/test1/a/2/b/2 13.获取原始地址:/tp5-2/public 14.获取url地址中的PATH_INFO:url/api/test1/a/2/b/2 15.获取url地址中的PATH_INFO不含后缀:url/api/test1/a/2/b/2 16.获取url地址中的后缀: 17.获取当前模块的名称:url 18.获取当前控制器的名称:Api 19.获取当前操作的名称:test1 20.获取路由: array(2) { ["a"] => string(1) "2" ["b"] => string(1) "2" } 21.获取调度: array(2) { ["type"] => string(6) "module" ["module"] => array(3) { [0] => string(3) "url" [1] => string(3) "api" [2] => string(5) "test1" } } 22.检测某个变量参数是否设置: bool(false) 23.助手函数input()检测某个变量参数是否设置: bool(false) 24.获取某个请求参数param(name)方法 过滤过: string(1) "2" 25.获取请求参数param() 未过滤: array(2) { ["a"] => string(1) "2" ["b"] => string(1) "2" } 25.获取请求参数param(true) 包含上传文件: array(2) { ["a"] => string(1) "2" ["b"] => string(1) "2" } 26.get().post().delete().put().request().server().session().cookie()都一样 加参获取某个 true原始数据 无参过滤的数据 27.助手函数input input(get) 28.助手函数input input(get.a)
2-2.请求参数过滤,更改以及排除【http://localhost:7070/tp5-2/public/url/api/test2/?a=123】
2-3.请求类型判断
// 是否为 GET 请求 if (Request::instance()->isGet()) echo "当前为 GET 请求"; // 是否为 POST 请求 if (Request::instance()->isPost()) echo "当前为 POST 请求"; // 是否为 PUT 请求 if (Request::instance()->isPut()) echo "当前为 PUT 请求"; // 是否为 DELETE 请求 if (Request::instance()->isDelete()) echo "当前为 DELETE 请求"; // 是否为 Ajax 请求 if (Request::instance()->isAjax()) echo "当前为 Ajax 请求"; // 是否为 Pjax 请求 if (Request::instance()->isPjax()) echo "当前为 Pjax 请求"; // 是否为手机访问 if (Request::instance()->isMobile()) echo "当前为手机访问"; // 是否为 HEAD 请求 if (Request::instance()->isHead()) echo "当前为 HEAD 请求"; // 是否为 Patch 请求 if (Request::instance()->isPatch()) echo "当前为 PATCH 请求"; // 是否为 OPTIONS 请求 if (Request::instance()->isOptions()) echo "当前为 OPTIONS 请求"; // 是否为 cli if (Request::instance()->isCli()) echo "当前为 cli"; // 是否为 cgi if (Request::instance()->isCgi()) echo "当前为 cgi";
2-4.获取头部信息【http://localhost:7070/tp5-2/public/url/api/test3】