我正在尝试将一个外部库(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)
任何提示?
谢谢!
您正在尝试注册命名空间,但您的类没有命名空间.尝试向其添加命名空间或使用RegisterPrefixes().
BTW:你知道其中一个Symfony组件基本上和php simpledom一样吗?它被称为DomCrawler,它支持xpath和CSS选择器.