phpstorm开发工具和tp5.0.24搭建api开发基本流程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了phpstorm开发工具和tp5.0.24搭建api开发基本流程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3417字,纯文字阅读大概需要5分钟。
内容图文
![phpstorm开发工具和tp5.0.24搭建api开发基本流程](/upload/InfoBanner/zyjiaocheng/592/c16af9cd42824aceb58cd92bdcbbe3e8.jpg)
下载
安装5.0最新版5.0.24
composer create-project topthink/think tp 5.0.*
隐藏入口文件index.php
public目录下.htaccess文件
原:
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
改为
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
开启调试模式
找到application/config.php文件
开启调试模式
// 应用调试模式
'app_debug' => true
restful要求
域名部署(可选)
比如 你的域名 www.abc.com 你希望你的api通过 adminapi.abc.com 来进行开发就可以通过这样
如果你写api更新是喜欢通过二级域名访问就可以这样做,开启下面的选项
// 域名部署
'url_domain_deploy' => true
然后就需要在application/route.php下
参考如下代码
use think\Route;
//后台接口域名路由 adminapi
Route::domain('adminapi', function(){
//adminapi模块首页路由
Route::get('/', 'adminapi/index/index');
//定义 域名下的其他路由
//比如 以后定义路由 get请求 http://adminapi.pyg.com/goods 访问到 adminapi模块Goods控制器index方法
//Route::resource('goods', 'adminapi/goods');
//获取验证码接口
Route::get('captcha/:id', "\\think\\captcha\\CaptchaController@index");
Route::get('captcha', 'adminapi/login/captcha');
//登录接口
Route::post('login', 'adminapi/login/login');
//退出接口
Route::get('logout', 'adminapi/login/logout');
});
创建数据库
create database if not exists blog default charset utf8mb4 collate utf8_unicode_ci;
跨域测试
postman虽然可以很好的发起请求,但是跨域问题是没法测试的。因为postman根本不会产生跨域问题,好比微信小程序也不用处理跨域问题,浏览器才会有跨域问题
那该如何测试?
把这段代码,放到任意一个网站下的控制台回车即可测试你是否处理了跨域问题,但是要注意,假如你的协议是 http 那么你找的网站也必须是要http的网站
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.blog.com/api/v1/aaa');
xhr.send(null);
xhr.onload = function(e) {
var xhr = e.target;
console.log(xhr.responseText);
}
如果要添加token可以添加如下选项
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.blog.com/api/v1/aaa');
xhr.setRequestHeader("x-access-token","你的token");
xhr.send(null);
xhr.onload = function(e) {
var xhr = e.target;
console.log(xhr.responseText);
}
跨域请求知识点
OPTIONS请求即预检请求,可用于检测服务器允许的http方法。当发起跨域请求时,由于安全原因,触发一定条件时浏览器会在正式请求之前自动先发起OPTIONS请求,即CORS预检请求,服务器若接受该跨域请求,浏览器才继续发起正式请求
CORS预检请求触发条件
- 使用了下面任一HTTP 方法:
PUT/DELETE/CONNECT/OPTIONS/TRACE/PATCH - 人为设置了以下集合之外首部字段:
Accept/Accept-Language/Content-Language/Content-Type/DPR/Downlink/Save-Data/Viewport-Width/Width - Content-Type 的值不属于下列之一:
application/x-www-form-urlencoded、multipart/form-data、text/plain
入口文件处理options
public/index.php
//处理跨域Options预检请求
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
//允许的源域名
header("Access-Control-Allow-Origin: *");
//允许的请求头信息
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
//允许的请求类型
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
exit;
}
模块创建
php think build --module admin
php think build --module adminapi
php think build --module home
php think build --module common
php think build --module mobile
一般这几个模块就够用了
内容总结
以上是互联网集市为您收集整理的phpstorm开发工具和tp5.0.24搭建api开发基本流程全部内容,希望文章能够帮你解决phpstorm开发工具和tp5.0.24搭建api开发基本流程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。