ThinkPHP5学习笔记(6)请求和响应
admin
2023-06-17 15:21:52
0


在线视频课程:http://www.kancloud.cn/tpshop/thinkphp5/220692

  • Request请求对象和Response响应对象

  • $_GET、$_POST、$_REQUEST、$_COOKIE

  • 调用请求对象$request=Request::instance()

  • $this->request或request()->url();助手函数

  • input()助手函数

  • 响应格式 json xml 模板渲染

  • 页面跳转 重定向

  • $this->success $this->error $this->redirect


*{ padding: 0; margin: 0; } .think_default_text{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px} h2{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px } 

:)

 ThinkPHP V5
十年磨一剑 - 为API开发设计的高性能框架

[ V5.0 版本由 七牛云 独家赞助发布 ]
';     }     public function hello(){         //  获取请求类型         if(Request::instance()->isGet()) {echo '当前为GET请求';}         if(Request::instance()->isPost())echo '当前为POST请求';         if(Request::instance()->isPut()) echo '当前为PUT请求';         if(Request::instance()->isDelete()) echo '当前为DELETE请求';         if(Request::instance()->isAjax()) echo '当前为AJAX请求';         if(Request::instance()->isPjax()) echo '当前为PJAX请求';         if(Request::instance()->isMobile()) echo '当前为Mobile请求';         if(Request::instance()->isHead()) echo '当前为HEAD请求';         if(Request::instance()->isPatch()) echo '当前为PATCH请求';         if(Request::instance()->isOptions()) echo '当前为OPTIONS请求';         if(Request::instance()->isCli()) echo '当前为cli';         if(Request::instance()->isCgi()) echo '当前为cgi';         if(request()->isGet()){echo '当前为GET请求';};         // 获取URL信息         $request = Request::instance();         $request = request();         echo 'domain:'.$request->domain().'
';         echo 'file:'.$request->baseFile().'
';         echo 'url:'.$request->url().'
';         echo 'url with domain:'.$request->url(true).'
';         echo 'url without query:'.$request->baseUrl().'
';         echo 'root:'.$request->root().'
';         echo 'root with domain:'.$request->root(true).'
';         echo 'pathinfo:'.$request->pathinfo().'
';         echo 'pathinfo:'.$request->path().'
';         echo 'ext'.$request->ext().'
';         // 设置/获取 模块/控制器/操作名称         $request = Request::instance();         echo '当前模块名称是'.$request->module();         echo '当前控制器名称是'.$request->controller();         echo '当前操作名称是'.$request->action();         Request::instance()->module('module_name');         echo '当前模块名称是'.$request->module();         // 获取请求参数         echo '请求方法:'.$request->method().'
';         echo '资源类型:'.$request->type().'
';         echo '访问地址:'.$request->ip().'
';         echo '是否Ajax请求:'.var_export($request->isAjax(),true);         echo '请求参数:';         dump($request->param());         echo '请求参数:仅包含name';         dump($request->only(['name']));         echo '请求参数:排除name';         dump($request->except(['name']));         // 获取路由和调度信息         echo '路由信息';         dump($request->route());         echo '调度信息';         dump($request->dispatch());         // 设置请求信息         $request = Request::instance();         $request->root('index.php');         $request->pathinfo('admin/index/hello');     }     public function hello2(){         $data = ['name'=>'thinkphp','status'=>1];         // 浏览器安装json插件         return json($data);         // return xml($data);         // $this->assign('name','渲染 模板');         // return $this->fetch();     }     // hello3     // 如果没有 extends Controller 就写:     // use \traits\controller\Jump;     public function hello3(){         $this->success('正常的页面跳转','hello');         $this->error('错误的页面跳转','hello2');         $this->redirect('http://tp-shop.cn');     }     public function hello4(){         // 检测变量是否设置         Request::instance()->has('id','get');         Request::instance()->has('name','post');         input('?get.id');         input('?post.name');         // 变量获取         $request = Request::instance();         echo $request->bind('user_name','张三');         echo $request->user_name;         print_r($request->param());         echo '
';         echo $request->param('name');         print_r(input());         echo '
';         echo input('name');         print_r(Request::instance()->param(false));         print_r(Request::instance()->param(true));         echo (input('param.name'));         print_r (input('param.'));          // 或         echo (input('name'));         print_r('');         // 获取GET变量         echo (Request::instance()->get('id'));         echo (Request::instance()->get('name'));         print_r(Request::instance()->get());    // 获取经过过滤的         print_r(Request::instance()->get(false));//获取原始变量         // 或         echo input('get.id');         echo input('get.name');         print_r(input('get.'));         // 获取POST变量         echo (Request::instance()->post('name'));         print_r(Request::instance()->post());         print_r(Request::instance()->post(false));         // 或         echo (input('post.name'));         print_r('post.');         // 获取PUT变量         echo (Request::instance()->put('name'));         print_r (Request::instance()->put());         print_r (Request::instance()->put(false));         // 或         echo (input('put.name'));         print_r(input('put.'));         //  获取REQUEST变量         echo (Request::instance()->request('id'));         print_r(Request::instance()->request());         print_r(Request::instance()->request(false));         // 或         echo (input('request.id'));         print_r (input('request.'));         // 获取SERVER变量         echo (Request::instance()->server('PHP_SELF'));         print_r(Request::instance()->server());         // 或         echo (input('server.PHP_SELF'));         print_r(input('server.'));         //获取SESSION变量         echo (Request::instance()->session('user_id'));         print_r(Request::instance()->session());         // 或         echo (input('session.user_id'));         print_r(input('session.'));         // 获取Cookie变量         echo (Request::instance()->cookie('user_id'));         print_r(Request::instance()->cookie());         // 或         echo (input('cookie.user_id'));         print_r(input('cookie.'));         // 变量过滤         // 在application/config.php中设置         // 'default_filter'=>'htmlspecialchars';         Request::instance()->filter('htmlspecialchars');         Request::instance()->filter(['strip_tags','htmlspecialchars']);         // 在添加变量的时候添加过滤方法         Request::instance()->get('name','','htmlspecialchars');         Request::instance()->param('username','','strip_tags');         Request::instance()->post('name','','org\Filter::safeHtml');         Request::instance()->param('username','','strip_tags,strtolower');         Request::instance()->post('email','','FILTER_VALIDATE_EMAIL');         Request::instance()->post('email','','email');         Request::instance()->get('name','',false);         // 获取部分变量         Request::instance()->only('id,name');         Request::instance()->only(['id','name']);         Request::instance()->only(['id','name'],'get');         Request::instance()->only(['id','name'],'post');         // 排除部分变量         Request::instance()->except('id,name');         Request::instance()->except(['id','name']);         Request::instance()->except(['id','name'],'get');         Request::instance()->except(['id','name'],'post');         //  变量修饰符         input('get.id/d');         input('get.name/s');         input('get.ids/a');         Request::instance()->get('id/d');     }     public function hello5(){         Request::instance()->get(['id'=>10]);         Request::instance()->post(['name'=>'thinkphp']);         // 尽量避免直接修改$_GET,$_POST,也不能直接修改param变量,下面写法无效         // Request::instance()->param(['id'=>10]);     } }


相关内容

热门资讯

86版《西游记》主创40年后在... 86版《西游记》主创40年后在济源相聚,六小龄童向记者讲述《西游记》长红的背后故事从“猴哥”到“猴叔...
哪吒汽车方运舟及张勇被冻结17... 【大河财立方消息】天眼查法律诉讼信息显示,近日,上海哲奥实业有限公司新增两则股权冻结信息,被执行人分...
跨国公司,为何持续加码中国? 【大河财立方 记者 闫文瑞 王宁宁 北京报道】 更大力度吸引和利用外资,有了新成效。今年1月至4月,...
从“看景”到“入戏”:一场文旅... 孟夏时节,万物并秀,太行叠翠,洹水似练。5月23日,2026河南省文化旅游发展大会在安阳成功举办。国...
唤醒“工业锈带” 点亮“生活秀... 西大井1919文旅景区。 景区供图英商福公司钱庄旧址变身为焦作近代工业遗产博物馆。 山峰 摄陶三文化...
消息称高通与字节跳动达成AI ... IT之家 5 月 27 日消息,据彭博社北京时间昨晚报道,消息人士向该媒体透露 Qualcomm(高...
无聊且麻木的看客们,救灾时戴金... 最近重读《鲁迅全集》,无聊麻木看客的形象不断浮现。他1926年笔下的看客是如此,一百年之后现实中的某...
好用的云手机,桃心云手机双系统... 玩手游、搞副业的朋友,大概率都有过同一个烦恼——手里的实体手机不够用。我这话不是凭空说的,是自己亲身...
清华大学教授吴华强称华为韬定律... 5 月 27 日消息,在 5 月 25 日召开的 2026 国际电路与系统研讨会上,。这是中国企业在...
2026年生物多样性保护和可持... 河南日报讯 (全媒体记者 吴倩 李世杰 通讯员 赵亚虹 史娆)5月22日是第26个国际生物多样性日。...