我在使 HTMLPurifier bundle 正常工作时遇到问题。我安装的是这样的:
php artisan bundle:install Sanitizer
然后我编辑了 application/bundles.php
'sanitize' => array('auto' => true),
当我使用它时:
$clean_output = Sanitize::purify($bad_input);
我收到未处理的异常:未找到“Sanitize”类
我还注意到,当我尝试:php artisan bundle:upgrade Sanitize时, 我收到一条错误消息,提示 bundle 未安装。 我缺少什么? 非常感谢任何帮助。
最佳答案
这个 bundle 的设置非常糟糕,尤其是不同的命名和大小写。通常, bundle 全面使用标准名称。这里发生的情况是,当您安装 bundle 时,它实际上是将其安装到bundles/laravel-htmlpurifier。您在 bundles.php
文件中定义的内容期望将其安装在 bundles/sanitize
处。
您有两个选择。
选项 1
将 laravel-htmlpurifier
目录重命名为 sanitize
。
选项 2
在 bundles.php
文件中设置 location
键。
'sanitize' => array('auto' => true, 'location' => 'laravel-htmlpurifier')
这也应该可以解决您遇到的升级问题。您实际上不必这样做,因为通常包作者有责任确保所有内容的命名正确且一致。
关于Laravel HTML 净化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16370468/