一,工具
1,宝塔(由于PHPStudy无法设置运行目录,伪静态之后依然需要加public才能访问,导致后期很多扩展出问题,比如apidoc访问可能会出现404)
宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板
2,phpstorm
3,thinkphp6
轻量级PHP框架|专注WEB应用开发17年 · ThinkPHP
4,apidoc
建议及规范 | ThinkPHP-ApiDoc (gitee.io)
二,集成开发环境
1,ngxinx最高版本即可
php7.3版,7的版本都可以,(宝塔的php安装之后默认禁用了很多函数,在实际运行中根据需求在设置中删除对应禁用函数即可)
2,添加域名解析
系统位置:C:/Windows/System32/drivers/etc/hosts打开之后设置域名解析
3,安装tp6
需要composer,没有可在宝塔网站设置里边安装也可官方下载安装,需要php,可以指定到宝塔下边的php
composer create-project topthink/think tp
1》宝塔创建新的网站并指定添加的域名解析以及指定创建的tp6项目位置创建网站
2》设置伪静态,点击创建的网站,设置,伪静态,然后在上边直接选择thinkphp,保存即可
4,在网站目录下安装apidoc
在wang'zhan
composer require hg/apidoc
记得还需要下载ui放在public目录下边
在控制器添加引用:
use hg\apidoc\annotation as Apidoc;
具体代码如下
<?php
namespace app\controller;
use app\BaseController;
use hg\apidoc\annotation as Apidoc;
/**
* 标题也可以这样直接写
* @Apidoc\Title("基础示例")
* @Apidoc\Group("base")
* @Apidoc\Sort(1)
*/
class Index extends BaseController
{
/**
* @Apidoc\Title("基础的注释方法")
* @Apidoc\Desc("最基础的接口注释写法")
* @Apidoc\Url("/index/index")
* @Apidoc\Method("GET")
* @Apidoc\Tag("测试 基础")
* @Apidoc\Header("Authorization", require=true, desc="Token")
* @Apidoc\Param("username", type="string",require=true, desc="用户名" )
* @Apidoc\Param("password", type="string",require=true, desc="密码" )
* @Apidoc\Param("phone", type="string",require=true, desc="手机号" )
* @Apidoc\Param("sex", type="int",default="1",desc="性别" )
* @Apidoc\Returned("id", type="int", desc="新增用户的id")
*/
public function index()
{
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
//return 'hello,';
//echo json_encode($arr);
//return json_encode($arr);
return json($arr);
}
/**
* @Apidoc\Title("获取用户信息")
* @Apidoc\Desc("获取用户的所有信息,包括用户名字,呢称,级别等信息")
* @Apidoc\Url("/index/getuser")
* @Apidoc\Method("GET")
* @Apidoc\Tag("测试 基础")
* @Apidoc\Header("Authorization", require=true, desc="Token")
* @Apidoc\Param("uid", type="int",require=true, desc="用户名" )
*/
public function getuser($uid = 6)
{
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
return json($arr);
}
}
这样就可以apc.com/apidoc访问之后看到对应的接口了
5,常见问题
完成以上6点之后,可以通过网址直接访问网站了
比如
abc.com可以看到tphinkphp6页面,证明tp6安装成功
abc.com/apidoc可以查看页面,证明apidoc安装成功
apidoc页面常见问题
404,可能是apidoc没安装好,需要确定运行如下命令之后没有发生错误这里发现由于php某个函数给禁止了,导致以上命令运行一半之后出现红色字样,需要删除禁止函数即可
另一个原因是因为伪静态没配置导致链接错误,需要在宝塔对应网站设置那里设置下tp6的伪静态
502,发生这个错误之后直接重启nginx服务器和php,即解决