2013-11-03 43 views
5

我试图在我的Laravel-4项目中加载Simple HTML DOM Parser。但是,我找不到它。在simple_html_dom.php顶部在Laravel-4中加载外部库

Class 'Libraries\SimpleHtmlDom\simple_html_dom_node' not found 

我已经把simple_html_dom.phpapp\libraries

namespace Libraries\SimpleHtmlDom; 

:我得到这个错误。

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; 

我在做什么错?

回答

11

具体到你的使用情况

(希望)解决您的问题,而无需改变当前的结构,你可能只需要运行:

$ 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

Packagist(更好?)解决方案

它看起来像有你可以使用,而不是一个作曲包: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" 

B.Use new package在你的代码

$dom = HtmlDomParser::file_get_html($file_name);