热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TP3.2Rest使用

php教程|php手册thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释thinkphpphp教程-php手册thinkphp3

php教程|php手册TP 3.2 Rest使用
thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释thinkphp
php教程-php手册
thinkphp 3.2 rest 的操作
本人是做终端开发的,以前没有搞过php,因为有需求看了看,thinkphp这周刚开始看,因为来的时候下载的最新版,终端开发php作为后台大多是接口,所以想学习使用下tp的rest,看了几个相关的帖子都是讲的老版本的,extent下面有这个,然后有个开关开启就行了,又发现怎么开启模式后整个程序都变成了rest模式,没有测试,反正下了新版本中开启了无效,看了下源码没有这块的逻辑。
php源码项目 门户网站开发,起动ubuntu出现黑屏,免费数据爬虫软件,ngrok php,谷歌seo学徒lzw
昨天发现git提交中加上了RestController,于是自己折腾了下,貌似调通了,直接继承的,这样比较灵活,想某个模块下面那个controller实现rest模式都可以。由于还没有深入看才点皮毛,也不知道用法对不对,说的不对的地方大家多指正。
邮件源码系统,ubuntu怎么更改签名,tomcat打开服务闪退,新浪期货爬虫,php运行内存大,曹操seolzw
1、下载最新的框架,最好是git上面的开发版本,不要3.2那个正式版,貌似RestController还没有加进去。
.htaccess 文件随便以前的或者one think里面复制一个过来吧。这样输入网址的时候可以免掉index.php 。环境配置之类的就不说了,运行下。程序下面application就有。到application home controller目录 新建一个文件。
内容如下
//InfoController.class.php namespace Home\Controller;
use Think\Controller\RestController;
class InfoController extends RestController {
仿百姓网源码下载,ubuntu看本机ip,tomcat字符集转码插件,爬虫玩具会动,泰牛php课程介绍文档,链接隐藏 seolzw
//default is json
public function read_json(){
echo "read_default_get_json";
}

//get
public function read_get_json(){
echo "read_get_json";
}

//delete
public function read_delete_json(){
echo "read_delete_json";
}

//put/update
public function read_put_json(){
echo "read_put_json";
}

//get
public function read_post_json(){
echo "read_post_json";
}

//custom
public function read_custom_json(){
echo "read_custom_json";
}
}
这个时候用ie 等浏览器访问是不行的,会访问出现403错误的,至于为什么可以看下源码RestController中的call方法,会根据 请求端的 请求头 接受类型或者设置好的默认类型等进行一系列的拼接方法,如果拼接的方法存在就调用,不存在就(_ERROR_ACTION_)403了。

浏览器中访问的话,call方法大概会适配出来的访问action为read_get_html 因为我上面没有实现这个方法,所以访问会失败。

所以这个时候用curl去请求。windows下面curl没有的话去安装一个吧。
然后开始访问如下:

我的url是本地host中做了个映射,也可以直接127.0.0.1这个就看自己的配置了。
可见通过请求类型的不同访问到了我们的controller中不同的动作,而我们的url只有一个。

上面我的代码中有个read_json方法,这个是永远执行不到的,因为RestController defaultMethod为get,不识别的请求类型 比如我最后一个other请求会使用默认的方式,拼接出来的为 read_get_json,这个方法存在所以默认都会执行该方法了,但是如果没有这个方法方法,比如把这个方法注释掉,当识别不出来的时候请求类型的时候就会执行read_json。

另外就是测试了下CUSTOM, 我的意思是看下定制自己的请求类型。当然这样做不符合标准,有get post put delete一般需求都是相当的够用。这里只是做一个测试。

直接请求是会到默认的去的,但是我这里成功执行到了,需要在RestController中修改$allowMethod,如下
// REST允许的请求类型列表
protected $allowMethod = array('get','post','put','delete' ,'custom');
当然我也不建议这样直接修改源码的,最好是遵循设计模式,面向扩展而不面向修改,有这样的需求的时候在上层利用config进行动态配置,而不要修改框架。
当然因为我没有看明白,还没有看见这个东西目前能动态配置,我想稍微修改下就可以做到了,大概扫了下3.1的代码这块貌似灵活点,可能3.2还没有加全吧。

没有搜到什么教学,主要新版本刚出来,就自己琢磨了下,大概就是这么回事了,rest就是一个建议标准,RestController 中也就是$_SERVER['HTTP_ACCEPT']拼接了下方法,如果没有这个东西自己rewrite或者就写insert get delete等方法返回json,然后通过不同的url请求数据或者说rewrite下其实都一样。只是这个潮流,看起来高端一点。 应该差不多了吧,剩下的有问题,欢迎交流指正~

AD:真正免费,域名+虚机+企业邮箱=0元


推荐阅读
  • Oracle 和 mysql的9点区别【MySQL】
    数据库|mysql教程oracle,Oracle,money,mysql,coun数据库-mysql教程1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在o ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • ORACLE空间管理实验5:块管理之ASSM下高水位的影响
    数据库|mysql教程ORACLE,空间,管理,实验,ASSM,下高,水位,影响,数据库-mysql教程易语言黑客软件源码,vscode左侧搜索,ubuntu怎么看上一页,ecs搭 ... [详细]
  • PHP输出缓冲控制Output Control系列函数详解【PHP】
    后端开发|php教程PHP,输出缓冲,Output,Control后端开发-php教程概述全景网页源码,vscode如何打开c,ubuntu强制解锁,sts启动tomcat慢,sq ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • PHP函数实现分页含文本分页和数字分页【PHP】
    后端开发|php教程PHP,分页后端开发-php教程最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。影视网源码带充值系统,vscode配置根 ... [详细]
  • mui框架offcanvas侧滑超出部分隐藏无法滚动如何解决
    web前端|js教程off-canvas,部分,超出web前端-js教程mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 用PHP连接MySQL代码的参数说明【PHP】
    后端开发|php教程PHP,连接,MySQL,参数后端开发-php教程代码是这样的:大图标网站源码,怎么在vscode中调试css,ubuntu退出命令行,系统默认开tomcat, ... [详细]
  • 电脑f5键是什么作用
    常见问题f5常见问题韩亚整形医院源码,vscode写前端代码,ubuntu低配,tomcat下载路径乱码,爬虫_gscu,php精粹pdf,广州快速seo优化排名,aspwap网站 ... [详细]
  • Php怎么编写乘法表
    后端开发|PHP问题php,乘法表后端开发-PHP问题传世登陆器源码,vscode设置字号,ubuntu系统创建不了文件,tomcat配置修改,sqlite怎么调中文,海洋采集插件 ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
author-avatar
Aircraftl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有