【发布时间】:2012-08-05 11:57:25
【问题描述】:
我想使用一个使用命名空间的 CSS 解析器。我将文件放在供应商中,然后应用程序将其导入。但脚本本身似乎没有找到它的类
在我的班级顶部,我导入了文件:
App::import('Vendor', 'Sabberworm', array('file' => 'Sabberworm/CSS/Parser.php'));
位于 /root/vendors/Sabberworm/CSS/ (所有文件都在此命名空间中)
在我的类方法中,我创建了一个新实例:
public function parse($content) {
$oParser = new Sabberworm\CSS\Parser($content);
...
}
到目前为止一切顺利。但是如果我现在想打电话给$oCss = $oParser->parse(); 那就是致命错误:
"Fatal error: Class 'Sabberworm\CSS\CSSList\Document'"
然后它失败了,因为它需要其他文件(应该使用命名空间加载)。根供应商文件夹位于包含路径中,并且外部脚本似乎将命名空间设置为“命名空间 Sabberworm\CSS;”。我错过了什么?我对命名空间有点陌生。
【问题讨论】:
标签: php cakephp namespaces cakephp-2.2