如何在宝塔上,一键安装部署PhalApi开源接口框架?
第一步,进入你的宝塔 - 软件商店。

第二步,切换到:一键部署;
第三步,搜索 phalapi;
第四步,点击 一键部署;
填写你的接口域名
在安装界面,根据提示,填入你的接口域名,例如这里是:myapi.phalapi.net,以及你的新建接口数据库的初始名称和数据库密码。点击【提交】。

提交,安装成功后。

查看你的接口新网站
在宝塔成功安装后,可以看到新的接口网站和源代码目录。
对应的新站点:

对应的源代码目录:

访问你的新接口网站
如果绑定了你的接口域名,需要同时进行DNS解析设置。例如,假设使用的是阿里云,类似的DNS解析设置如下:

保存DNS后,访问你的接口域名,例如:http://myapi.phalapi.net/ ,打开效果如下:

查看API接口列表,

在线测试访问Hello World示例接口,

PhalApi框架默认会开启调试模式,方便进行接口测试。如果需要关闭PhalApi调试模式,可以打开 config/sys.php 系统配置文件,把debug改为false,然后保存。

开始开发你自己的PHP接口
以上安装完毕,接下来就可以打开源代码,开发你自己的PHP接口了。

PHP接口保存后,PhalApi会自动帮你生成实时最新的在线接口文档,非常方便。类似如下:
http://myapi.phalapi.net/docs.php?service=App.Examples_QrCode.Png\&detail=1\&type=fold

对应的PHP源代码在
src/app/Api/Examples/QrCode.php,

对应PHP源代码:
<?php
namespace App\Api\Examples;
use PhalApi\Api;
/**
* 接口示例
*/
class QrCode extends Api {
public function getRules() {
return array(
'png' => array(
'data' => array('name' => 'data', 'require' => true, 'desc' => '待生成二维码的内容'),
'level' => array('name' => 'level', 'type' => 'enum', 'range' => array('L','M','Q','H'), 'default' => 'L', 'desc' => '错误纠正级别,L为最小,H为最佳'),
'size' => array('name' => 'size', 'type' => 'int', 'min' => 1, 'max' => 10, 'default' => 4, 'desc' => '二维码尺寸大小'),
'isShowPic' => array('name' => 'output', 'type' => 'boolean', 'default' => true, 'desc' => '是否直接显示二维码,否的话通过base64返回二维码数据'),
),
);
}
/**
* 二维码 - 根据文本内容,生成二维码
* @desc 可根据传入的文本内容,生成对应的二维码,还可以调整尺寸大小。可以直接输出png图片,也可以返回base64后的图片数据。
*/
public function png() {
$qrcode = \PhalApi\DI()->get('qrcode', new \PhalApi\QrCode\Lite());
if ($this->isShowPic) {
$qrcode->png($this->data, false, $this->level, $this->size);
exit();
} else {
$temp = tempnam("/tmp", 'qrcode');
$qrcode->png($this->data, $temp, $this->level, $this->size);
return base64_encode(file_get_contents($temp));
}
}
}
更多完整的API接口开发教程,可查看:http://docs.phalapi.net/#/v2.0/tutorial