如何使用CakePHP第三方库函数?

时间:2013-02-18 03:45:53

标签: php cakephp

我试图从控制器文件中调用CakePHP中的第三方库函数。

我的控制器文件中有这个:

public function index() {
    App::import('vendor', 'simple-html-dom.php');
    App::import('vendor', 'utils.php');

    set_time_limit(0);

    $html = file_get_html("google.com");
    ...
}

我还有app/vendorsimple-html-dom.phputils.php个文件。

file_get_htmlsimple-html-dom.php中的公共函数(并且它不属于任何类)。我最终得到了这个错误:

Error: Call to undefined function file_get_html()

我一直在努力寻找如何解决这个问题,但我还没有找到答案。

2 个答案:

答案 0 :(得分:2)

我得到了我的工作。试试这个,

App::import('Vendor', 'simple_html_dom', array('file'=>'simple_html_dom.php'));

$html = file_get_html("google.com");

答案 1 :(得分:1)

尝试

public function index() {
    App::import('vendor', 'simple-html-dom.php');
    App::import('vendor', 'utils.php');

    set_time_limit(0);
    $SimpleHtmlDom = new SimpleHtmlDom(); // create object for html dom
    $html = $SimpleHtmlDom->file_get_html("google.com");
}

确保simple-html-dom.php文件包含类,然后在加载create object后需要class vendor。{/ p>

因为要访问该课程的methodsproperty,您需要创建该课程的object

您还可以使用method在同一个班级中访问Self::file_get_html();,但这适用于class declaration内部。

更多帮助

App::import('Vendor', 'example', array('file' => 'Example.php'));
$example = new Example();

在上面的代码我包括供应商文件。

<强>解释

上面的代码将加载Example.php目录中的vendors/example文件。

如果您的vendor文件未正确加载,则会导致class not found错误。