emmedy / h5p-bundle
Symfony 5、6和7的H5P Bundle
2.2.0
2024-09-16 14:17 UTC
Requires
- php: >= 7.4
- ext-json: *
- doctrine/doctrine-bundle: ^2.0
- doctrine/orm: ^2.14.1
- guzzlehttp/guzzle: ^7.8
- h5p/h5p-core: 1.26
- h5p/h5p-editor: ^1.25
- symfony/asset: ~5.0|~6.0|~7.0
- symfony/form: ~5.0|~6.0|~7.0
- symfony/framework-bundle: ~5.0|~6.0|~7.0
- symfony/intl: ~5.0|~6.0|~7.0
- symfony/security-bundle: ~5.0|~6.0|~7.0
- symfony/serializer: ~5.0|~6.0|~7.0
- twig/extra-bundle: ^3.0
Requires (Dev)
- phpstan/phpstan: ^1.10
README
将H5P集成到Symfony的Bundle。此bundle是H5P Drupal模块的移植版。有关H5P的更多信息,请参阅H5P.org
此bundle已在以下版本上进行了测试:
- Symfony 4.X
- Symfony 5.X,
- Symfony 6.X,
- Symfony 7.X-dev
先决条件
在运行此安装之前,您需要安装doctrine annotations和orm
composer require orm composer require doctrine/annotations
安装
使用composer安装
composer require emmedy/h5p-bundle
在AppKernel.php中启用bundle
return [ // ... \Emmedy\H5PBundle\EmmedyH5PBundle::class => ['all' => true] ]
Windows警告:您需要以管理员身份启动cmd或使用-c选项
将H5P资产添加到bundle中
php bin/console h5p-bundle:IncludeAssetsCommand php bin/console assets:install --symlink
并重新执行...
# For linux and mac only or windows admin php bin/console h5p-bundle:IncludeAssetsCommand # For all without admin perms php bin/console h5p-bundle:IncludeAssetsCommand -c
将所需的表和关系添加到数据库中
php bin/console doctrine:schema:update --force
或
php bin/console make:migrations
在routes.yaml中启用路由
emmedy_h5p.demo: resource: "@EmmedyH5PBundle/Resources/config/routing_demo.yml" prefix: / emmedy_h5p: resource: "@EmmedyH5PBundle/Resources/config/routes.yaml" prefix: /
emmedy_h5p.demo是可选的。它可以作为一个示例,展示如何在Symfony中使用H5P以及测试此bundle是否正常运行。
配置
对于SF4:在services.yaml中配置bundle。(注意h5和p之间的下划线)
parameters: emmedy_h5_p: use_permission: true # This is false by default to let the demo work out of the box. storage_dir: / # Location to store all H5P libraries and files web_dir: public # Location of the public web directory export: 3 #for all embed: 3 #for all
对于Symfony 5:在packages > h5pBundle.yml中配置bundle。
emmedy_h5_p: use_permission: true # This is false by default to let the demo work out of the box. storage_dir: / # Location to store all H5P libraries and files web_dir: public # Location of the public web directory export: 3 #for all embed: 3 #for all
有关所有配置信息,请参阅Configuration.php
如果您在此处使用权限,以下是bundle中的当前权限列表
使用方法
首先添加一个指向您项目的虚拟主机。然后在浏览器中访问http://<your virtualhost>/h5p/list
待办事项
正在工作
- 存储使用数据和分数(仅当用户连接时)
- 下载H5P
- 上传H5P
- 更新/安装H5P库
- 存储使用数据和分数
并非所有内容都已移植。以下内容还需要完成
- 上传库。目前只能从Hub中选择H5P默认库。(需要自定义h5p进行测试)
变更日志
- 使用带有限制标签的开发版本以防止破坏性更改
- 实现缺少的路线和解决H5P-editor的兼容性
- 修复错误并更新readme
- 修复许多错误...并更新到SF5 :)
- 修复缺少链接图片的错误
- 修复下载包
- 存储使用数据和分数
开发中
运行静态分析器如下
php -d memory_limit=-1 vendor/bin/phpstan.phar analyze .