我正在尝试在Laravel-4
项目中加载Simple HTML DOM Parser。但是,我无法找到它。我收到了这个错误:
Class 'Libraries\SimpleHtmlDom\simple_html_dom_node' not found
我已将simple_html_dom.php
放入app\libraries
和
namespace Libraries\SimpleHtmlDom;
位于simple_html_dom.php
的顶部。
在global.php
我添加了libraries
文件夹:
ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
app_path().'/libraries',
));
最后,在我的控制器中,我试图实例化它:
$parser = new Libraries\SimpleHtmlDom\simple_html_dom_node;
我做错了什么?
答案 0 :(得分:12)
为了(希望)在不改变当前结构的情况下解决您的问题,您可能只需要运行:
$ composer dump-autoload
或者您可能需要在composer.json
中添加自动加载的部分以及其他部分:
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/libraries"
]
},
然后再次运行composer dump-autoload
。
看起来您可以使用的是Composer包:https://packagist.org/packages/sunra/php-simple-html-dom-parser
这样可以更轻松地将其添加到您的项目中:
A。将依赖关系添加到composer.json
(通过此CLI调用或手动添加到composer.json文件中):
# Run this command:
$ composer require "sunra/php-simple-html-dom-parser": "1.5.0.*@dev"
代码中
$dom = HtmlDomParser::file_get_html( $file_name );