Php 如何使joudi/Laravel-H5P工作以实现H5P文件的编辑器?
我一直试图在不使用任何Drupal/Moodle/Wordpress插件的情况下实现内容编辑器 我基本上停留在(应该解决的)中描述的与Php 如何使joudi/Laravel-H5P工作以实现H5P文件的编辑器?,php,laravel,laravel-5,Php,Laravel,Laravel 5,我一直试图在不使用任何Drupal/Moodle/Wordpress插件的情况下实现内容编辑器 我基本上停留在(应该解决的)中描述的与H5PFrameworkInterface不兼容的一点上。以下是我所做的: composer创建项目laravel/laravel=“5.5.*”我的项目 作曲家需要djoudi/laravel-h5p 将两对{}替换为[](可能取决于PHP版本): /vendor/h5p/h5p core/h5p.classes.php,第2747行 /vendor/h5
H5PFrameworkInterface
不兼容的一点上。以下是我所做的:
composer创建项目laravel/laravel=“5.5.*”我的项目
作曲家需要djoudi/laravel-h5p
{}
替换为[]
(可能取决于PHP版本):
,第2747行/vendor/h5p/h5p core/h5p.classes.php
,第70行/vendor/h5p/h5p core/h5p development.class.php
php artisan供应商:发布
php artisan迁移
composer.json
中的autoload/classmap
:
"vendor/h5p/h5p-core/h5p-default-storage.class.php",
"vendor/h5p/h5p-core/h5p-development.class.php",
"vendor/h5p/h5p-core/h5p-event-base.class.php",
"vendor/h5p/h5p-core/h5p-file-storage.interface.php",
"vendor/h5p/h5p-core/h5p.classes.php",
"vendor/h5p/h5p-editor/h5peditor-ajax.class.php",
"vendor/h5p/h5p-editor/h5peditor-ajax.interface.php",
"vendor/h5p/h5p-editor/h5peditor-file.class.php",
"vendor/h5p/h5p-editor/h5peditor-storage.interface.php",
"vendor/h5p/h5p-editor/h5peditor.class.php"
config/app.php
中的提供程序中:
Djoudi\LaravelH5p\LaravelH5pServiceProvider::class
php artisan make:auth
cd public
mkdir vendor
cd vendor
mkdir h5p
cd h5p
ln -s ../../../storage/h5p/content
ln -s ../../../storage/h5p/editor
ln -s ../../../storage/h5p/libraries
composer.json
中指定包的2.0版本(这需要使用Laravel5.8)。从技术角度看,这似乎更好一些,但我也没有安装任何库或创建任何H5P内容。基本上,我上传的任何H5P库似乎都被识别为有效的H5P文件,提取zip文件也可以,但没有找到/安装库
如何使此项目和Laravel的任何组合都能工作?您应该确保在中列出了php配置。 您需要安装以下PHP扩展:
- ZipArchive(强制)
- mbstring(必填)
- openssl(可选)
/**
* Store the given stream into the given file.
*
* @param string $path
* @param string $file
* @param resource $stream
* @return bool
*/
public function saveFileFromZip($path, $file, $stream){
// Add filename to path
$absolutePath = $path.'/'.$file;
$newDirPath = preg_replace("/\/[^\/]+\/?$/", '', $absolutePath);
if (!self::dirReady($newDirPath)) {
throw new \Exception('unabletocopy');
}
if ($stream) {
file_put_contents($absolutePath, $stream);
}
return true;
}
(我应该提出拉车请求,我还不知道怎么拉)
当你有了它,你可以看到在行动的包http://localhost/h5p
现在可以加载库了
您可以从以下位置获取h5p库:
- 选择一个并单击
- 当示例打开时,单击“重用”(上下文的左下角)
- 单击“作为.h5p文件下载”
希望有帮助 作为一个很好的提示:永远不要编辑供应商中的任何内容。它将无法通过以下调用
composer install
继续运行。此外,到底是什么不起作用?您是否可以分享任何错误消息?谢谢,我知道这一点,只是我仍处于评估阶段:到目前为止,我甚至不确定这个应用程序在工作时到底应该做什么。我没有包含错误消息,但在我的问题中有一个指向GitHub上相应问题的链接。非常感谢您,很抱歉回复太晚,我正在旅行,不知道在我使用的设备上不会收到来自SO的通知。我可能会在周一对此进行研究并给出反馈。我使用Djoudi软件包的版本2上传了一个库。但是,我无法创建内容。对于Exatech软件包,由于数据库问题,我还不能添加任何库。但是,我使用与Djoudi软件包相同的数据库(包括我刚刚上传的库)创建了一个内容(在使用php artisan make:auth添加了身份验证系统之后)。我想在用这些软件包构建一个工作的H5P编辑器之前,还有很多工作要做。Exatech软件包似乎是一个更有希望的起点。