movingimage / mi-comments-bundle
此包已被废弃,不再维护。未建议替代包。
Symfony扩展,提供评论功能(发布、阅读和管理评论)
3.1.0
2018-08-10 08:54 UTC
Requires
- php: ^7.1
- doctrine/doctrine-bundle: ^1.8
- doctrine/doctrine-migrations-bundle: ^1.3
- doctrine/orm: ^2.6
- friendsofsymfony/rest-bundle: ^2.2
- jms/serializer-bundle: ^2.1
- sonata-project/admin-bundle: ^3.32
- sonata-project/doctrine-orm-admin-bundle: ^3.4.2
- symfony/validator: ^2.7|^3.0|^4.0
Requires (Dev)
- movingimage/style-checker: dev-master
- phpunit/phpunit: ^5.0 || ^6.0 || ^7.0 || ^8.0
This package is not auto-updated.
Last update: 2020-02-07 09:33:53 UTC
README
Symfony扩展,提供评论功能(发布、阅读和管理评论)。
特性包括
- 获取现有评论的API端点(支持分页)
- 发布评论的API端点
- 管理评论的行政区域(列出、发布和拒绝)
安装
添加composer依赖
composer require movingimage/mi-comments-bundle
在AppKernel.php中包含MICommentsBundle和相关扩展
$bundles = [
//...
new FOS\RestBundle\FOSRestBundle(),
new JMS\SerializerBundle\JMSSerializerBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(), //optional
new MovingImage\Bundle\MICommentsBundle\MICommentsBundle(),
];
将扩展路由包含到routing.yml中
mi_comments:
resource: "@MICommentsBundle/Resources/config/routing.yml"
prefix: /
如果需要,可以选择不同的前缀。
在config.yml中配置扩展
mi_comments:
auto_publish: true //optional, by default is false
css: /path/to/css/file //optional
display_max_length: 100 //optional
在config.yml中配置Doctrine迁移扩展(可选)
doctrine_migrations:
dir_name: "%kernel.root_dir%/../vendor/movingimage/mi-comments-bundle/Migrations"
namespace: MovingImage\Bundle\MICommentsBundle\Migrations
table_name: mi_comments_bundle_migration_versions
name: MICommentsBundle Migrations
organize_migrations: false
custom_template: ~
如果您已经在项目中使用Doctrine迁移扩展,请保留当前配置,但将迁移文件从Migrations目录复制到您的现有迁移目录。或者,您可以手动创建所需的表。在这种情况下,您不需要使用Doctrine迁移扩展。
配置Sonata Admin Bundle(可选)
- 将SonataBundle和相关扩展添加到AppKernel.php
$bundles = [
//...
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Sonata\CoreBundle\SonataCoreBundle(),
new Sonata\BlockBundle\SonataBlockBundle(),
new Knp\Bundle\MenuBundle\KnpMenuBundle(),
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
new Sonata\AdminBundle\SonataAdminBundle(),
];
- 在config.yml中启用翻译器
translator: { fallbacks: ['%locale%'] }
- 在config.yml中配置sonata扩展
sonata_block:
blocks:
sonata.admin.block.admin_list:
contexts: [admin]
sonata.admin.block.search_result:
contexts: [admin]
sonata_admin: ~
- 在routing.yml中配置路由
mi_comments_admin:
resource: "@MICommentsBundle/Resources/config/admin_routing.yml"
prefix: /admin
如果需要,可以选择不同的前缀。
- 安装资源
./bin/console assets:install
配置参数
| 参数 | 类型 | 默认值 | 必需 | 描述 |
|---|---|---|---|---|
| auto_publish | 布尔型 | false | 否 | 如果为真,评论将自动发布。 |
| css | 字符串 | null | 否 | CSS文件路径。如果提供,将被包含在sonata布局中。 |
| display_max_length | 整数 | 20 | 否 | 在sonata列表中显示的评论的最大长度。 |
用法
发布评论
curl -X POST \
http://<base_url>/comments \
-H 'Content-Type: application/json' \
-d '{
"user": {
"email": "pavle.predic@movingimage.com",
"name": "Pavle Predic"
},
"entity": {
"id": "DF3osABraqfGPaSGtty8vt",
"title": "Recruiting Teaser Karo & Matthias"
},
"comment": "What an awesome video! Great job!"
}'
获取已发布的评论
curl -X GET <base_url>/comments?entityId=DF3osABraqfGPaSGtty8vt&limit=10&offset=20
这将返回指定视频ID(如果提供)的已发布评论列表,按创建日期排序(最新的在前)。如果没有提供限制和偏移量,将使用默认值(限制:10,偏移:0)。
许可证
此扩展受BSD 3条款许可证的约束。请检查LICENSE文件以获取完整的许可证。