我有一个问题,从目录加载"模型"类在phalcon框架2.0。
我现在不能使用名称空间,因为项目正在逐步从ZF1迁移,并且模型类与它们自己有许多依赖关系。如果我为每个目录加载器注册名称空间,那么它工作得很好,但是我需要在没有名称空间的情况下这样做。
所以我这样做:
$loader = new 'Phalcon'Loader();
$loader->registerDirs(
[
/** Phalcon controllers */
$configPhalcon->application->controllersDir,
/** Models */
$configPhalcon->application->servicesDir,
...
...
],
true
)->register();
类名为Service_Name(),其中Service - directory。文件名是name .php,所以我需要为目录注册类前缀:
$loader->registerPrefixes(
[
'Service_' => $configPhalcon->application->servicesDir,
...
...
],
true
)->register();
现在,我想要得到我的服务类:
$serv = new Service_Name();
并得到致命错误:类'Service_Name'未找到。请帮帮我,我做错了什么?
谢谢你,Artamiel我找到问题了!我用的是phalcon 1.3,一切正常,然后我把phalcon升级到2.0版本,没有测试自动加载。
区别在于目录类的前缀
在1.3版本中我使用'Service_'
在2.0中只使用Service
所以解是
$loader->registerPrefixes(
[
'Service' => $configPhalcon->application->servicesDir,
...
...
],
true
)->register();