开发规范
Testing Is Documentation
tests/Docs/Started/SpecificationDoc.php
QueryPHP
遵循 PSR-2
命名规范和 PSR-4
自动加载规范。
文件和目录
PSR-4 基础目录使用小写,其它依次使用大驼峰法命名,例如。
/data/codes/queryphp/application/app/Domain/Entity/
/data/codes/queryphp/application/app/Domain/Entity/Test.php
其中 composer 配置
"autoload": {
"psr-4": {
"App\\" : "application/app",
"Admin\\" : "application/admin",
"Common\\" : "common"
}
}
不存在类文件,请使用小写目录,其文件也一样:
/data/codes/queryphp/option/
/data/codes/queryphp/option/app.php
统一代码风格
为了屏蔽不同用户的不同代码风格习惯,QueryPHP 设置一个统一的代码格式化配置来规范团队的代码风格,这符合 PSR-2
规范并且可以通过 StyleCI
规范。
手工优化
在使用前您需要安装 php-cs-fixer,这样子才能够进行下面的工作。
/data/codes/queryphp/.php_cs.dist # 应用
/data/codes/queryphp/vendor/hunzhiwange/framework/.php_cs.dist # 框架核心包
可以通过下面的方式来格式化代码风格:
$cd /data/codes/queryphp
$php build/php-cs-fixer fix --config=.php_cs.dist
结合 Git Hooks 来格式化代码:
/data/codes/queryphp/build/pre-commit.sh
/data/codes/queryphp/vendor/hunzhiwange/framework/build/pre-commit.sh
应用 QueryPHP 脚本 /data/codes/queryphp/build/pre-commit.sh
核心包 framework 脚本 /data/codes/queryphp/build/pre-commit.sh
WARNING
应用脚本也包含一段 JS 的脚本,这个用于格式化 QueryPHP 的通用前端后台的 JS 代码风格,跟 PHP 差不多。
Git Commit
git commit -m 'pass hook'
上述脚本就会自动运行帮助你格式化代码,你也可以忽略脚本。
git commit -n -m 'pass hook'
这样子我们再也不需要浪费时间在无意义的代码风格的讨论上了。