earthit / php-template-project
PHP 模板项目
Requires
- php: ^5.2
- doctrine/dbal: ^2.4
- earthit/cmip-rest: ^0.16.4
- earthit/dbc: ^1.1.0
- earthit/paxml: ^1.2.1
- earthit/php-common: ^1.1.0
- earthit/php-project-utils: ^0.1.3
- earthit/schema: ^1.1.1
- earthit/storage: ^0.4.1
- ryprop/nife: ^0.2.4
- swiftmailer/swiftmailer: ~5.4
- togos/action: ^1.0.0
- togos/base32: ^1.0.1
- togos/php-n2r: ^0.1.3
- togos/tpfetcher: ^0.0.7
Requires (Dev)
- phpunit/phpunit: ~3.7
This package is auto-updated.
Last update: 2024-09-20 03:50:03 UTC
README
此 README 由 PHPProjectInitializer 自动生成。如果此段落仍然存在,这通常意味着还没有人为此项目编写特定的文档。
另请参阅
文件夹结构
composer.json
- PHP 包和依赖信息,由 Composer 使用。package.json
- Node 包和依赖信息,由 NPM 使用。init-*.php
- 初始化 PHP 全局状态的脚本。src/db-migrations/
- 数据库脚本upgrades/
- 构建模式所需运行的升级test-data/
- 与升级一起运行以提供额外的单元测试数据- 一些有用的脚本
src/
- 此项目的源代码。main/
- 主要应用程序代码,按语言分解test/
- 单元测试views/
- 视图模板
build/
和/或target/
- 编译后的内容。未提交。node_modules/
- 由 NPM 管理的外部 Node 库。vendor/
- 由 Composer 管理的外部 PHP 库。config/
- 部署配置。www/
- 作为项目的 '文档根'。包含直接提供的文件以及用于处理不对应现有文件的路径的.htaccess
和bootstrap.php
。Vagrantfile
- Vagrant 的配置文件。vm-files/
- 要导入到 Vagrant 虚拟机的文件。provision.sh
- 虚拟机配置脚本。
请注意,src/<component>/<language>
目录是 Maven 的约定。它很详细,但足以使包含多种语言和组件(单元测试、构建系统、运行时等)的项目保持组织。
build/
和 target/
基本上是同一件事。在一个项目中,你可能需要选择一个并坚持使用它。 target
是 Maven 的约定。C 和 JavaScript 开发人员喜欢将其称为 build
。
数据库
创建数据库
如果你使用 Vagrant,请不要这样做。只需 vagrant up
,你应该就可以开始了。以下内容仅适用于你想要在 Vagrant 之外运行的情况。
make create-database
将尝试根据 config/dbc.json
中的配置为你创建数据库。
如果失败(例如,如果你的系统没有按照脚本设计的方式设置),你可以自己创建数据库
以 root 用户身份登录并运行新的 postgres 数据库(sudo -u postgres psql
通常有效):
CREATE DATABASE phptemplateprojectdatabase; CREATE USER phptemplateprojectdatabaseuser WITH PASSWORD 'phptemplateprojectdatabasepassword'; GRANT ALL PRIVILEGES ON DATABASE phptemplateprojectdatabase TO phptemplateprojectdatabaseuser;
如果你已更改 config/dbc.json
中的数据库或用户名称,请在上述 SQL 中进行相应的更改。
初始化数据库
一旦数据库存在并设置了我们的用户权限,你应该能够运行 make rebuild-database
,这将清空数据库并从升级脚本中重建它。
重建数据库
运行 make rebuild-database
以清空数据库并从 src/db-migrations/upgrades/
中的升级脚本中重建它。
运行 make rebuild-database-with-test-data
以重建数据库并添加来自 src/db-migrations/test-data/
的数据。
升级数据库
运行 make upgrade-database
以在 src/db-migrations/upgrades/
中运行新创建的升级脚本。
单元测试
所有测试都在 src/test/
目录下。
src/test/
目录的结构应该模仿 src/main/
,即一个测试文件测试一个应用文件。
要运行PHPUnit测试,请运行 make run-tests
。这将运行单元测试和集成测试。要仅运行单元测试,请运行 make run-unit-tests
,要仅运行集成测试,请运行 make run-integration-tests
。
集成测试是使用数据库的测试。
PHP风格
遵循现有Phrebar代码使用的约定。具体来说,使用 制表符进行首行缩进,函数和控制结构在同一行上使用开括号。
(“使用制表符进行首行缩进”和“智能制表符”可能指的是完全相同的做法。)
部署
将部署到不同环境由 CircleCI 自动处理。阅读这些文档 了解Earthling如何设置CircleCI。
Web服务
如果你使用Vagrant,可以直接通过Vagrant指定的IP地址访问HTTP。例如:
如果你接受了默认设置。
如果你在开发机上运行Apache(以及Postgres和其他所需的程序),并且这个目录在DocumentRoot或Alias下的某个位置签出,你可能可以直接浏览到www目录并使一切正常工作。对我来说,是这样的:
http://my-local-machine/~my-username/proj/PHPTemplateProject/www/
大多数人可能需要运行Vagrant。