webravolab / layers
PHP抽象层
Requires
- php: >=7.1
- google/apiclient: ~2.2
- google/auth: ~1.0
- google/cloud-core: ~1.0
- google/cloud-datastore: ~1.0
- google/cloud-logging: ~1.0
- google/common-protos: ~1.0
- google/gax: ~1.0
- php-amqplib/php-amqplib: >=2.6.1
- psr/log: 1.1
- webpatser/laravel-uuid: ^3.0
- webravolab/cdn: dev-master
Requires (Dev)
- illuminate/console: ~5.2
- illuminate/filesystem: ~5.2
- illuminate/support: ~5.2
- orchestra/database: ~3.0
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^4.8 || ^5.0 || ^6.5
- dev-master
- 1.1.1
- 1.1.0
- 1.0.49
- 1.0.48
- 1.0.47
- 1.0.46
- 1.0.45
- 1.0.44
- 1.0.43
- 1.0.42
- 1.0.41
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- dev-1.3.2-beta
- dev-1.3.1-beta
- dev-2.2.0-beta
- dev-2.1.1-beta
- dev-2.1.0-beta
- dev-2.0.1-beta
- dev-2.0.0-beta
- dev-1.2.4-beta
- dev-1.2.3-beta
- dev-1.2.2-beta
- dev-1.2.2-dead
- dev-1.2.1-beta
- dev-1.2.0-beta
- dev-DataStore_refactoring
- dev-google-datastore
This package is auto-updated.
Last update: 2024-09-21 06:41:21 UTC
README
Laravel六边形架构 - 域驱动设计抽象层
包含
- 使用RabbitMQ或数据库的通用队列处理程序
- 命令总线(使用通用队列处理程序)
- 可从您的命令扩展的通用命令
- 命令总线调度器和远程命令调度器
- 事件接收器(使用通用队列处理程序)
- 可从您的事件扩展的通用事件
- 事件总线调度器和远程事件调度器
- StackDriver日志(扩展Monolog)
- 空日志器(用于测试)
- Eloquent持久层
- 带有通过数据库设置表覆盖的通用配置助手
- 使用webravolab/cdn包的Cdn图像服务
- 文件系统服务
- 可由您的实体扩展的抽象实体
- 抽象值对象和一些简单实现(url, guid, filename)
安装
composer require webravolab/layers --no-dev
要执行测试,省略--no-dev
以安装开发依赖项。
该包与Laravel >= 5兼容,目前不使用任何真实版本依赖。
配置
RabbitMQ队列处理程序
要使用RabbitMQService
,您必须有一个运行的RabbitMQ服务器,并复制以下文件
将config/rabbitmq.php
复制到laravel /config目录,并自定义配置以访问您的RabbitMQ实例。
数据库队列处理程序
DBQueueService
是RabbitMQ的100%基于数据库的替代品。它需要3个表才能工作
jobs_queue
jobs
events
您可以在tests/database/migrations
下找到构建这些表的Laravel迁移。只需将DB连接从testbench替换为您自己的数据库名称即可。
测试
提供了PhpUnit测试套件。它创建了一个基于内存的SqLite数据库实例来创建所需的表并执行测试。它使用orchestra/testbench
包来模拟完整的Laravel环境。
要测试与Google Cloud Storage的CdnService,您必须将您的服务帐户json文件复制到/test文件夹(google-credentials.json)。
使用方法
要了解通用队列处理程序的行为,请参阅包含的测试以获取使用示例。
要了解队列策略,请参阅RabbitMQ文档。
注意
Stackdriver日志实现需要google/cloud-logging库及其依赖项。
它还需要在项目根目录中加载服务帐户json密钥。有关详细信息,请参阅Google Cloud身份验证文档。
配置助手
Webravo\Infrastructure\Library\Configuration
是一个帮助程序,用于以标准方式访问环境和配置变量,允许通过名为settings的数据库表覆盖变量。
您可以在tests/database/migrations
下找到构建设置表的Laravel迁移。
要启用设置覆盖,您必须设置环境变量SETTINGS_DB_CONNECTION,其值为设置表的数据库连接名称。