4
我想使用一個使用命名空間的css解析器。我把這些文件放在供應商和應用程序中。但腳本本身似乎並沒有找到它的類供應商文件中的命名空間(CakePHP2.x和PHP5.4.3)
在我班上的第一名我導入文件:
App::import('Vendor', 'Sabberworm', array('file' => 'Sabberworm/CSS/Parser.php'));
這是在/根/供應商/ Sabberworm/CSS /(所有文件都在這個命名空間)
在我的類中的方法創建一個新的實例:
public function parse($content) {
$oParser = new Sabberworm\CSS\Parser($content);
...
}
到目前爲止好。但是,如果我現在想調用$oCss = $oParser->parse();
它致命錯誤:
"Fatal error: Class 'Sabberworm\CSS\CSSList\Document'"
那麼它失敗,因爲它要求的其他文件(應該使用名稱空間加載)。根供應商文件夾位於包含路徑中,外部腳本似乎將命名空間設置爲「命名空間Sabberworm \ CSS;」。我錯過了什麼?我對命名空間有點新鮮。
我喜歡的第一個。它立即工作(我把它放到使用供應商的東西的lib類中)。非常感謝!現在我可以繼續使用AssetSprite的東西了。 – mark 2012-08-05 21:08:02
我引用它在http://www.dereuromark.de/2012/08/06/namespaces-in-vendor-files-and-cake2-x/ – mark 2012-08-06 09:23:17
如何在cakephp 1.2和1.3 – 2012-12-04 00:47:21