Broadway 项目使用教程
1. 项目的目录结构及介绍
Broadway 项目的目录结构如下:
broadway/
├── docs/
├── examples/
├── src/
│ └── Broadway/
├── test/
│ └── Broadway/
├── .gitignore
├── .php-cs-fixer.php
├── CHANGELOG.md
├── LICENSE
├── Makefile
├── README.md
├── UPGRADE.md
├── composer.json
├── phpstan-baseline.neon
├── phpstan.neon
└── phpunit.xml.dist
目录结构介绍
- docs/: 包含项目的文档文件,详细介绍了如何使用 Broadway 项目。
- examples/: 包含一些示例代码,展示了如何使用 Broadway 项目来创建 CQRS 和事件源应用程序。
- src/Broadway/: 包含 Broadway 项目的核心源代码,包括各种组件和工具类。
- test/Broadway/: 包含项目的测试代码,用于确保 Broadway 项目的各个组件正常工作。
- .gitignore: Git 忽略文件,指定哪些文件和目录不应该被 Git 跟踪。
- .php-cs-fixer.php: PHP-CS-Fixer 配置文件,用于自动格式化 PHP 代码。
- CHANGELOG.md: 记录项目的变更历史,包括每个版本的更新内容。
- LICENSE: 项目的开源许可证文件,Broadway 项目使用 MIT 许可证。
- Makefile: 包含项目的构建和测试命令。
- README.md: 项目的介绍文件,包含项目的基本信息、安装方法和使用说明。
- UPGRADE.md: 包含项目升级指南,帮助用户从旧版本升级到新版本。
- composer.json: Composer 配置文件,定义了项目的依赖关系。
- phpstan-baseline.neon: PHPStan 基线配置文件,用于静态代码分析。
- phpstan.neon: PHPStan 配置文件,用于静态代码分析。
- phpunit.xml.dist: PHPUnit 配置文件,用于单元测试。
2. 项目的启动文件介绍
Broadway 项目没有明确的“启动文件”,因为它是一个库,而不是一个独立的应用程序。然而,你可以通过 Composer 安装 Broadway 项目,并在你的 PHP 项目中使用它。
安装方法
composer require broadway/broadway
安装完成后,你可以在你的项目中使用 Broadway 提供的各种组件和工具类。
3. 项目的配置文件介绍
Broadway 项目的主要配置文件是 composer.json
,它定义了项目的依赖关系和其他元数据。
composer.json
{
"name": "broadway/broadway",
"description": "Infrastructure and testing helpers for creating CQRS and event sourced applications.",
"license": "MIT",
"require": {
"php": "^7.2 || ^8.0",
"broadway/event-store": "^1.0",
"broadway/read-model": "^1.0",
"broadway/saga": "^1.0",
"broadway/uuid-generator": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "^9.0",
"phpstan/phpstan": "^0.12",
"friendsofphp/php-cs-fixer": "^2.16"
},
"autoload": {
"psr-4": {
"Broadway\\": "src/Broadway"
}
},
"autoload-dev": {
"psr-4": {
"Broadway\\": "test/Broadway"
}
}
}
配置文件介绍
- name: 项目的名称。
- description: 项目的描述。
- license: 项目的开源许可证。
- require: 定义了项目的主要依赖关系。
- require-dev: 定义了开发环境下的依赖关系,例如 PHPUnit 和 PHPStan。
- autoload: 定义了项目的自动加载规则,使用 PSR-4 标准。
- autoload-dev: 定义了开发环境下的自动加载规则。
通过这些配置文件,你可以轻松地安装和使用 Broadway 项目,并根据需要进行定制和扩展。