codeages / phalcon-biz-api-skeleton
基于 Phalcon、Biz Framework 的 API 项目脚手架。
Installs: 130
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 3
Forks: 4
Open Issues: 0
Type:project
Requires
- codeages/library: ^0.0.5
- codeages/phalcon-biz-library: ^1.0.11
- codeages/plumber2: ^0.4.6
- datto/json-rpc-http: ^5.0
Requires (Dev)
- phpunit/phpunit: ^6 || ^7 || ^8
This package is auto-updated.
Last update: 2024-12-10 21:01:30 UTC
README
基于 Phalcon、Biz Framework 的 API 项目脚手架。
特性
- 使用 Phalcon 作为接口接入层框架,Biz Framework 作为业务层框架;
- 通过 Composer 初始化项目;
- 通过注解的方式配置路由;
- 定义了标准的接口响应格式、通用错误码;
- 集成了接口鉴权机制;
- 提供了接口样例代码;
- 集成 Gitlab CI 配置;
- 集成了 Plumber2 消息队列消费者进程;
- 集成了 Console;
- 集成频率控制。[TODO]
安装
从脚手架创建项目
composer create-project codeages/phalcon-biz-api-skeleton example
开发
修改系统环境配置:
cp env.php.example env.php
修改env.php
系统环境配置文件,数据库等相关配置。开发环境下请配置 debug
配置为 true
,否则将无法显示程序错误信息。
创建 var 目录:
mkdir -p var/{cache,tmp,run,log}
chmod 777 var/{cache,tmp,run,log}
创建数据库:
CREATE DATABASE `example`;
执行数据库变更脚本:
bin/phpmig migrate
配置 Nginx:
对外服务API:
server { listen 80; server_name example.local; root /var/www/example/public; location / { try_files $uri /index.php?_url=$uri&$args; } location ~ ^/index\.php(/|$) { fastcgi_pass 127.0.0.1:9000; # fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; internal; } location ~ \.php$ { return 404; } access_log /var/log/nginx/example.access.log; error_log /var/log/nginx/example.error.log; }
内部RPC服务:
server { listen 8008; server_name example-rpc.local; root /var/www/example/rpc; index jsonrpc.php; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; # fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; } access_log /var/log/nginx/example-rpc.access.log; error_log /var/log/nginx/example-rpc.error.log; }
自动化测试
创建测试环境配置
cp env.php.example env.testing.php
修改env.testing.php
系统环境配置文件,数据库等相关配置。
运行测试:
phpunit
CHANGELOG
参见 CHANGELOG.md。