我在phalcon framework 2.0中从目录加载“Model”类时遇到问题。
我现在无法使用命名空间,因为项目是从ZF1逐步迁移的,而Model类与它们有很多依赖关系。如果我为每个目录注册名称空间 - 加载器工作得很好,但我需要在没有名称空间的情况下这样做。
所以我这样做:
>>> xs[3:]
[4]
类名是Service_Name(),其中Service - 目录。文件名是Name.php,所以我需要为目录注册类前缀:
$loader = new \Phalcon\Loader();
$loader->registerDirs(
[
/** Phalcon controllers */
$configPhalcon->application->controllersDir,
/** Models */
$configPhalcon->application->servicesDir,
...
...
],
true
)->register();
现在,我想获得我的服务类:
$loader->registerPrefixes(
[
'Service_' => $configPhalcon->application->servicesDir,
...
...
],
true
)->register();
并获得致命错误:找不到类'Service_Name'。请帮助我,我做错了什么?
答案 0 :(得分:1)
谢谢你Artamiel我发现了问题!我有phalcon 1.3,一切正常,然后我将phalcon更新到2.0版本,并没有测试自动加载。
不同之处在于目录类的前缀
1.3版本中的我使用'Service _'
2.0中的工作正常'服务'
所以,解决方案是
$loader->registerPrefixes(
[
'Service' => $configPhalcon->application->servicesDir,
...
...
],
true
)->register();