$loader = new \Phalcon\Loader();
$loader->registerNamespaces(
array(
"Sabberworm" => "app/core/Sabberworm/",
"Parsedown" => "app/core/Parsedown/",
))->register();如果我将Parsedown()类初始化为
$parser = new Parsedown\Parsedown();我得到了:
Fatal error: Class 'Parsedown\Parsedown' not found 但是Sabberworm运行得很好:
$loader = new Sabberworm\CSS\Parser();我的文件夹结构:
/app/
/app/core/
/app/core/Sabberworm/CSS/Parser.php
/app/core/Parser/Parsedown.php为什么Parsedown不适用于通用加载程序?
如果我用这样的东西:
spl_autoload_register(function($class){
require preg_replace('{\\\\|_(?!.*\\\\)}', DIRECTORY_SEPARATOR, ltrim($class, '\\')).'.php';
});它起作用了。但我想用通用装载机。
发布于 2014-04-07 16:21:12
试试这个:
$loader = new \Phalcon\Loader();
$loader->registerNamespaces(
array(
"Sabberworm" => "app/core/Sabberworm/",
"Parsedown" => "app/core/Parser/", //Now is right
))->register();
$parser = new Parser\Parsedown(); //now it workshttps://stackoverflow.com/questions/22917794
复制相似问题