djvue / d-media-bundle
d-media包的Symfony扩展包
0.9.10
2022-06-05 22:43 UTC
Requires
- php: >=8.0
- ext-mbstring: *
- league/flysystem-bundle: ^2.0|^3.0
- phpunit/phpunit: ^9.5
- symfony/config: ^5.2|^6.0
- symfony/dependency-injection: ^5.2|^6.0
- symfony/expression-language: ^5.2|^6.0
- symfony/filesystem: ^5.2|^6.0
- symfony/framework-bundle: ^5.2|^6.0
- symfony/http-kernel: ^5.2|^6.0
- symfony/mime: ^5.2|^6.0
- symfony/orm-pack: ^2.1
- symfony/routing: ^5.2|^6.0
- symfony/security-bundle: ^5.2|^6.0
- symfony/serializer: ^5.2|^6.0
- symfony/translation: ^5.2|^6.0
- symfony/yaml: ^5.2|^6.0
Requires (Dev)
- ext-gd: *
- doctrine/doctrine-fixtures-bundle: ^3.4
- fakerphp/faker: ^1.13
- jetbrains/phpstorm-attributes: ^1.0
- liip/test-fixtures-bundle: ^1.0.0
- psalm/plugin-symfony: ^2.1
- symfony/browser-kit: ^5.2
- symfony/css-selector: ^5.2
- symfony/maker-bundle: ^1.29
- symfony/phpunit-bridge: ^5.2
- vimeo/psalm: ^4.4
README
介绍
Symfony D-Media Bundle是一个提供前端媒体管理库和服务的JSON REST HTTP API的包,用于在后台使用媒体。
前端包: vue-d-media
使用示例: symfony-d-media-bundle-example
使用示例演示: demo
安装
使用composer安装
composer require djvue/d-media-bundle
需要PHP >=8.0和Symfony >=5.2
您可能还需要安装前端组件。请参阅前端存储库中的说明vue-d-media。
入门
- 添加包
config/bundles.php
return [ ..., Djvue\DMediaBundle\DMediaBundle::class => ['all' => true], ];
- 导入路由
config/routes.yaml
media: resource: '@DMediaBundle/Resources/config/routes/media.yaml' prefix: '/api/media' #your prefix equal to frontend library api.config.prefix trailing_slash_on_root: false name_prefix: board_media_
- 配置(可选)
config/packages/d_media.yaml
d_media: filterable_entities: - workspace storage: public_url: /storage/medias directory: /uploads library: image_extensions: png, jpg, jpeg, webp
帮助服务
SomeClass.php
public function __construct( private MediaService $mediaService, private MediaEntityService $mediaEntityService, ) { }
安全
包控制器使用symfony/security。为了控制访问,请添加投票者:MediaVoter和MediaGetListVoter。
请参阅symfony示例存储库中的示例symfony-d-media-bundle-example