assasz / rmr
RMR 架构的实现变体。
dev-master
2020-07-03 15:06 UTC
Requires
- php: ^7.4
- ext-json: *
- cakephp/collection: ^3.8
- doctrine/orm: ^2.6
- filp/whoops: ^2.1
- haydenpierce/class-finder: ^0.4.2
- moneyphp/money: ^3.3
- symfony/config: ^5.0
- symfony/console: ^5.0
- symfony/dependency-injection: ^5.0
- symfony/dotenv: ^5.0
- symfony/http-foundation: ^5.0
- symfony/property-access: ^5.0
- symfony/property-info: ^5.0
- symfony/serializer: ^5.0
- symfony/validator: ^5.0
- symfony/yaml: ^5.0
- twig/twig: ^3.0
- zircote/swagger-php: ^3.0
Requires (Dev)
- justinrainbow/json-schema: ^5.2
- nelmio/alice: ^3.6
- phpunit/phpunit: ^9
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-09-29 05:41:44 UTC
README
关于此特定架构的更多信息,请点击这里。上面的代码是我自己的实现变体,它是在长时间的隔离中诞生的;(;)尽管如此,它仍在开发中。
我更愿意称它为 ROR(资源-操作-表示)架构,其中控制器逻辑从资源移动到单独的类,即 操作。它们遵循请求处理器模式,实际上就像 ADR 架构中已知的行为组件。
安装
通过 Composer
composer create-project assasz/rmr=dev-master
cd rmr
cp .env.dist .env && cp .env.test.dist .env.test
设置数据库
# .env
DATABASE_URL='mysql://user:secret@localhost/mydb'
./vendor/bin/doctrine orm:schema-tool:create
./vendor/bin/doctrine orm:schema-tool:update --force
设置测试环境
# .env.test
DATABASE_URL='mysql://user:secret@localhost/mydb_test'
BASE_URI='https://'
实用工具
为指定环境加载固定数据(默认为 dev
)
php bin/console app:load-fixtures --env=dev
为现有资源生成基本 API
php bin/console app:generate-api
将 OpenAPI 文档生成到 YAML 文件
./vendor/bin/openapi --output openapi/openapi.yaml src/ public/