我正在尝试将Phalcon中的 Universal Class Loader 功能用于我的项目,但是我无法使其正常运行。
以下是我在我的应用中的实现方式(使用registerClasses
)。
的index.php:
//...
$loader->registerClasses(
array(
"Commons" => "library/classes/CommonsClass.php"
)
);
$loader->register();
sampleController.php:
public function doAction()
{
$cc = new Commons();
}
当我执行控制器时,它会抛出这个异常:
Fatal error: Class 'Commons' not found in C:\the\path\to\phalcon_app\app\controllers\SomeController.php on line 63
Phalcon Documentation只是说你需要注册一个类并在你的函数中调用它。有什么我错过了吗?
Ps。:库文件夹未在任何地方注册(不知道是否需要),并且它与控制器,视图等(/app/
)在同一路径中。
答案 0 :(得分:0)
您应该查看目录结构。
下式给出:
mah_app/app/config/loader.php
mah_app/library/classes/Commons.php
我希望这可行:
// loader.php
$loader->registerClasses(
array(
"Commons" => __DIR__ . "/../../library/classes/Commons.php"
)
)->register();
// works with $loader->registerDirs() for sure
另外,我还建议使用名称空间和/或将文件名与类名匹配。
答案 1 :(得分:0)
有同样的问题。我在类中注释掉了名称空间声明并且它有效。版本2.0.3。