将外部库添加到Symfony2项目

Mik*_*ike 6 libraries symfony

我正在尝试将一个外部库(PHP Simple DOM Parser,http://simplehtmldom.sourceforge.net/index.htm)添加到Symfony2项目中.我参加了一个教程,解释了如何将第三方库包含在Symfony2中http://www.kiwwito.com/article/add-third-party-libraries-to-symfony-2.

我设置了一个类文件,如:

# vendor/phpsimpledom/lib/Phpsimpledom/simple_html_dom.php

require_once __DIR__.'/src/simple_html_dom.php';

class Phpsimpledom_Phpsimpledom extends simple_html_dom_node {
}
Run Code Online (Sandbox Code Playgroud)

并在我的Autoloader(autoload.php)中注册了我的课程:

$loader->registerNamespaces(array(
...
'Phpsimpledom' => __DIR__.'/../vendor/phpsimpledom/lib/',
...
),));
Run Code Online (Sandbox Code Playgroud)

我打电话给:

$phpsimpledom = new \Phpsimpledom();
Run Code Online (Sandbox Code Playgroud)

但这给我带来了一个错误(致命错误:未找到类'simple_html_dom_node').

但是:库的主文件(simple_html_dom.php)由不属于类的函数组成.

当我尝试直接使用该文件时,它也不起作用:

    $loader->registerNamespaces(array(
...
'Phpsimpledom' => __DIR__.'/../vendor/phpsimpledom/lib/Phpsimpledom/src/simple_html_dom.php',
...
),));
Run Code Online (Sandbox Code Playgroud)

任何提示?

谢谢!

Jak*_*las 8

您正在尝试注册命名空间,但您的类没有命名空间.尝试向其添加命名空间或使用RegisterPrefixes().

BTW:你知道其中一个Symfony组件基本上和php simpledom一样吗?它被称为DomCrawler,它支持xpath和CSS选择器.