qobo / project-template
新PHP项目的模板
Requires
- aws/aws-sdk-php: ^3.52
- brainmaestro/composer-git-hooks: ^2.4
- josegonzalez/dotenv: ^3.2
- pyrech/composer-changelogs: ^1.4
- qobo/qobo-robo: ^2.0
Requires (Dev)
- brianium/paratest: *
- phpstan/phpstan: ^0.10.3
- phpstan/phpstan-phpunit: ^0.10.0
- phpunit/phpunit: *
- squizlabs/php_codesniffer: *
- thecodingmachine/phpstan-strict-rules: ^0.11.0
Suggests
- ext-xdebug: Allows code coverage reports and advanced debugging
- dev-master
- v10.6.0
- v10.5.2
- v10.5.1
- v10.5.0
- v10.4.0
- v10.3.2
- v10.3.1
- v10.3.0
- v10.2.2
- v10.2.1
- v10.2.0
- v10.1.1
- v10.1.0
- v10.0.0
- v9.7.0
- v9.6.2
- v9.6.1
- v9.6.0
- v9.5.1
- v9.5.0
- v9.4.1
- v9.4.0
- v9.3.2
- v9.3.1
- v9.3.0
- v9.2.1
- v9.2.0
- v9.1.1
- v9.1.0
- v9.0.7
- v9.0.6
- v9.0.5
- v9.0.4
- v9.0.3
- v9.0.2
- v9.0.1
- v9.0.0
- v8.1.0
- v8.0.1
- v8.0.0
- v7.2.1
- v7.2.0
- v7.1.0
- v7.0.1
- v7.0.0
- v6.4.0
- v6.3.0
- v6.2.11
- v6.2.10
- v6.2.9
- v6.2.8
- v6.2.7
- v6.2.6
- v6.2.5
- v6.2.4
- v6.2.3
- v6.2.2
- v6.2.1
- v6.2.0
- v6.1.4
- v6.1.3
- v6.1.2
- v6.1.1
- v6.1.0
- v6.0.0
- v5.6.0
- v5.5.1
- v5.5.0
- v5.4.2
- v5.4.1
- v5.4.0
- v5.3.8
- v5.3.7
- v5.3.6
- v5.3.5
- v5.3.4
- v5.3.3
- v5.3.2
- v5.3.1
- v5.3.0
- v5.2.0
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.0
- v4.5.1
- v4.5.0
- v4.4.7
- v4.4.6
- v4.4.5
- v4.4.4
- v4.4.3
- v4.4.2
- v4.4.1
- v4.4.0
- v4.3.1
- v4.3.0
- v4.2.1
- v4.2.0
- v4.1.0
- v4.0.1
- v4.0.0
- v3.1.1
- v3.1.0
- v3.0.0
- v2.2.0
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.1
- v2.0.0
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dependabot/add-v2-config-file
- dev-robo
This package is auto-updated.
Last update: 2021-07-29 20:02:03 UTC
README
关于
这是一个新PHP项目的模板。
使用此模板的一些项目包括
安装
有两种方法可以安装并开始使用此项目模板。
Composer
您可以使用Composer从这个模板创建一个新项目。
composer create-project qobo/project-template example.com cd example.com ./bin/build app:install PROJECT_NAME="My Project",PROJECT_VERSION="v1.0.0"
Git
或者,如果您想能够将项目更新到模板的最新版本,可以使用Git安装模板。
mkdir example.com cd example.com git init # Pull the latest version from https://github.com/QoboLtd/project-template/releases git pull git@github.com:QoboLtd/project-template.git vX.Y.Z composer update ./bin/build app:install PROJECT_NAME="My Project",PROJECT_VERSION="v1.0.0" # Add your own remote repository git remote add origin git@github.com/USER/REPO # Push git push origin master
使用上述方法,您可以拥有模板开发的完整历史记录。现在您可以进行自己的开发,并在未来的任何时间点升级到最新的模板。
更新
如果您使用Git安装了项目模板,可以使用以下方法轻松升级您的应用程序到最新模板
cd exmample.com # Make sure you are on the master branch and have a clean and up-to-date workspace git checkout master git pull origin master # Create a new branch git checkout -b project-template-update # Pull the latest version from https://github.com/QoboLtd/project-template/releases git pull git@github.com:QoboLtd/project-template.git vX.Y.Z composer update ./bin/build app:update # Check for conflicts, resolve if any, commit, and then push git push origin project-template-update # Create a pull request, review, and merge
用法
现在您已安装项目模板,请在开始对更改进行操作之前检查它是否工作。启动PHP网络服务器
./bin/phpserv
或运行在备用端口上
./bin/phpserv -S localhost:9000
在浏览器中导航到http://localhost:8000。您应该看到标准的 phpinfo()
页面。如果是这样,所有部分都已就位。
现在您可以像平常一样开发PHP项目,但具有以下优势
- 支持 PHP内置网络服务器
- 使用
.env
文件进行按环境配置,该文件被git忽略 - 集成了强大的构建系统(Robo)
- 集成了Composer,并将
vendor/
文件夹添加到.gitignore
。 - 集成了PHPUnit,并在
tests/
文件夹中添加了示例单元测试。 - 合理的默认值以实现最佳实践 - favicon.ico、robots.txt、MySQL转储、Nginx配置、GPL等。
例如,您可以通过修改包含在build/
文件夹中的Robo文件轻松自动化应用程序的构建过程。运行以下命令来检查可用的目标
./bin/build
如您所见,已经为应用程序的构建过程设置了一些占位符。默认情况下,建议您有这些
app:install
- 用于应用程序的安装过程,app:update
- 用于已安装应用程序的更新过程,以及app:remove
- 用于应用程序删除过程和清理。
当然,您可以添加自己的,删除这些,或按任何您想要的方式更改它们。有关如何使用这些目标和传递运行时配置参数的更多信息,请参阅Robo文档。
测试
PHPUnit 和 PHP CodeSniffer
运行 PHPUnit 和 PHP CodeSniffer 最快最简单的方式是通过 composer 脚本。
./bin/composer test
另外,您还可以运行带有代码覆盖率报告的测试。
./bin/composer test-coverage
HTML 格式的代码覆盖率报告将放置在 ./build/test-coverage/
文件夹中。
Travis CI
持续集成是一个工具,可以帮助您在代码库(提交、合并等)有任何更改时运行测试。您可以使用许多工具,但 project-template 提供了与 Travis CI 的示例集成。
查看 .travis.yml
文件,该文件描述了环境矩阵、项目安装步骤以及运行测试套件的方式。对于您的真实项目,基于 project-template,您可能希望从文件中删除示例测试。
示例
project-template 提供了一些如何编写和组织单元测试的示例。请查看 tests/
文件夹。现在您没有任何借口不测试您的应用程序了!