这是一篇使用 swoft 两个月后的总结文章!,后续会陆续更新的
这是 web-api 开发的总结,如果使用 websocket 等服务的可能不适用,本章节会对一些规范、习惯,或者优化进行一些说明
一、安装 & 环境
swoole 安装
swoft 开发的环境最好是 mac(以下截图都是以 mac 环境下的)
以下安装代码是需要开启 openssl 扩展的,如果不需要可以直接 pecl install swoole 一路回车即可
$ brew info openssl
--------------------
For compilers to find openssl you may need to set:
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include”
* * * * *
复制 /usr/local/opt/openssl
$ pecl install swoole
* * * * *
enable openssl support? [no] : yes --with-openssl-dir=/usr/local/opt/openssl
新手必备扩展
sdebug,兼容 swoole 的 xdebug 分支(https://github.com/mabu233/sdebug)
swoft 因为文档不够详细,有时候必须看源码,跟踪运行,断点调试必不可少
composer 扩展
swoft/devtool
(用于数据库迁移,实体生成)ctfang/swoft-admin
(devtool 无界面过度库,开发界面操作,日记查看、在线代码查看、路由生成、控制器生成等等)
Swoft 安装无特别,跳过
composer create-project swoft/swoft swoft
二、配置修改,常用环境.env 配置新增
HTTP_PORT http
服务端口DB_DSN
数据库 dnsDB_USERNAME
数据库用户名DB_PASSWORD
数据库用户密码
.env 文件是不提交到 git
的,所以不会产生冲突,团队每个人都新增一份,.env
所有键值对都应该在.env.example
存在一份默认值和注释说明。
使用 .env 里的配置,在 app/bean.php
文件下使用 'port' => env("HTTP_PORT",18306),
,当然 env()
函数是不限制在配置文件用的,只是一般为了业务扩展,习惯在配置使用而已。
三、重要目录划分
app/Common