dolphin836 / slim4-api-skeleton
基于 Slim 框架的 API 脚手架。
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 0
Forks: 3
Open Issues: 3
Type:project
Requires
- php: ^7.2
- ext-json: *
- ext-redis: *
- doctrine/orm: ^2.7
- guzzlehttp/guzzle: ^7.0
- monolog/monolog: ^2.1
- php-amqplib/php-amqplib: ^2.11
- php-di/php-di: ^6.2
- slim/psr7: ^1.1
- slim/slim: 4.*
- symfony/yaml: ^5.1
- vlucas/phpdotenv: ^2.4
README
Slim-Skeleton-MVC 是基于 Slim Framework 的脚手架。其主体框架来源于我 2017 年开发的一个商业项目。如果你还不了解 Slim Framework,可以从其 官网 了解相关信息。和 Laravel、Yii 等全能型框架相比,Micro Framework 拥有更好的性能和更大的灵活性。
安装方法
使用 Composer 快速创建项目
composer create-project dolphin836/slim4-api-skeleton [app-name]
配置 WEB 服务器
详细的配置方法请阅读 Slim Documentation Web Servers
初始化配置文件
将 .env.example 重命名为 .env,然后填写相应的信息。
# 当前环境:dev - 开发、test - 测试、production - 生产 ENV=dev # 时区 TIMEZONE=Asia/Shanghai # 数据库服务器地址 DB_SERVERER=localhost # 数据用户名 DB_USERNAME=root # 数据库用户密码 DB_PASSWORD=password # 数据吗名称 DB_DATANAME=app
使用方法
命令:批量生成随机用户
$ php public/command.php generate-random-user 1
开源组件
TODO
- 完善介绍,标准化
- 测试用例
- 持续集成
- 自动文档
环境
建议统一使用 Docker
搭建开发环境
Docker
20.10.5Docker-compose
1.28.5
项目的服务依赖
PHP
8.0.3MySQL
8.0.23Redis
6.2.1Composer
2.0.11
启动
- 创建
Lumen
配置文件,并设置相应的项
cp src/.env.example src/.env
- 设置日志目录权限
chmod -R 777 src/storage/logs
- 创建
Docker
配置文件,并设置相应的项
cp .env.example .env
- 初始化并启动服务
docker-compose -f docker-compose.yml up -d # 创建并启动服务 docker-compose -f docker-compose.yml start # 启动服务 docker-compose -f docker-compose.yml stop # 停止服务 docker-compose -f docker-compose.yml down # 停止并删除服务 docker-compose -f docker-compose.yml restart # 重启所有服务 docker-compose -f docker-compose.yml restart service_name # 重启指定服务 docker-compose -f docker-compose.yml exec service_name composer update --lock # 更新 Composer 依赖
实际使用中,请根据当前环境选择对应的配置文件,docker-compose.development.yml
开发环境,docker-compose.test.yml
测试环境,docker-compose.production.yml
生产环境
生产环境由于启用了 Opcache
,代码更新后需要重启 php-fpm
服务重新加载代码
- 安装依赖
首次安装或者 composer.lock
文件有更新时需要更新依赖
docker compose -f docker-compose.development.yml exec php-fpm composer update --lock # Windows docker-compose -f docker-compose.development.yml exec php-fpm composer update --lock # Linux
如果本地没有安装 Composer
又需要升级依赖包
docker compose -f docker-compose.development.yml exec php-fpm composer update # Windows docker-compose -f docker-compose.development.yml exec php-fpm composer update # Linux
- 更新代码
git fetch --all git reset --hard origin/master
- SuperVisor
docker compose -f docker-compose.development.yml exec php-fpm /usr/bin/supervisorctl reload # 新增、修改配置文件后重新加载 docker compose -f docker-compose.development.yml exec php-fpm /usr/bin/supervisorctl update