我正在尝试向 Symfony2 项目添加一个外部库(PHP Simple DOM Parser, http://simplehtmldom.sourceforge.net/index.htm)。我学习了一个教程,解释了如何将第三方库包含到 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 {
}
并在我的 Autoloader (autoload.php) 中注册了我的类(class):
$loader->registerNamespaces(array(
...
'Phpsimpledom' => __DIR__.'/../vendor/phpsimpledom/lib/',
...
),));
我想打电话:
$phpsimpledom = new \Phpsimpledom();
但这给我带来了一个错误( fatal error :找不到类“simple_html_dom_node”)。
但是:库的主文件 (simple_html_dom.php) 由不属于类的函数组成。
当我尝试直接使用该文件时,它也不起作用:
$loader->registerNamespaces(array(
...
'Phpsimpledom' => __DIR__.'/../vendor/phpsimpledom/lib/Phpsimpledom/src/simple_html_dom.php',
...
),));
任何提示?
谢谢!
最佳答案
您正在尝试注册一个命名空间,但您的类没有命名空间。尝试向其添加命名空间或使用 RegisterPrefixes()。
顺便说一句:您是否知道 Symfony 组件之一基本上与 php simpledom 做同样的事情?它被称为 DomCrawler,它同时支持 xpath 和 CSS 选择器。
关于symfony - 向 Symfony2 项目添加外部库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8789616/