mybuilder / conductor
该包已被弃用且不再维护。未建议替代包。
用于在一个源代码库中管理多个包的工具
dev-master / 0.9.x-dev
2017-03-16 17:40 UTC
Requires
- symfony/console: ~2.6
- symfony/filesystem: ~2.6
- symfony/finder: ~2.6
- symfony/yaml: ~2.6
Requires (Dev)
- phpunit/phpunit: ~4.5
This package is auto-updated.
Last update: 2021-10-05 18:46:49 UTC
README
我们已不再使用 MyBuilder 中的 Conductor,而是现在使用 Composer 路径,但如果您想接管 Conductor 的开发,请告知我们。
此工具允许您在单个、统一的代码库中管理隔离的、内部的 Composer 包。根据目录结构而不是代码库级别来分隔代码单元,可以保持单一的真实来源,同时提供明确定义的组件边界的好处。
您何时会使用它?
您会在存在多个独立应用的项目环境中使用此工具(例如,管理员、前端和移动 API)。在这种情况下,每个应用将共享代码,例如业务逻辑,以提供最终解决方案。
以下是我们实际使用的示例项目代码库结构:
├── app/ │ ├── admin │ │ ├── src/ │ │ ├── tests/ │ │ └── composer.json │ ├── frontend │ │ ├── src/ │ │ ├── tests/ │ │ └── composer.json │ └── mobile-api │ ├── src/ │ ├── tests/ │ └── composer.json ├── artifact/ ├── bin │ └── conductor ├── package │ ├── bar │ │ ├── src/ │ │ ├── tests/ │ │ └── composer.json │ └── foo │ ├── src/ │ ├── tests/ │ └── composer.json ├── composer.json └── conductor.yml
如您所见,根级别的 composer.json 文件仅用于统一工具 - 因此不应在此级别存储特定于项目的代码。业务逻辑包含在每个隔离的包中,并通过 'app' 目录提供交付。
兼容性
- ✔ Mac OSX
- ✔ Unix 衍生系统(CentOS、Debian 等)
- ? Windows - 目前尚未测试
示例
目前,项目包含一个简单的 待办事项示例,它展示了如何完整地使用 Conductor。