phalcon 从目录加载 类
phalcon load classes from directory
我在从 phalcon 框架 2.0 中的目录加载 "Model" classes 时遇到问题。
我现在不能使用命名空间,因为项目是从ZF1一步步迁移过来的,Model classes和自己有很多依赖关系。如果我为每个目录注册名称空间 - 加载程序工作得很好,但我需要在没有名称空间的情况下这样做。
所以我这样做了:
$loader = new \Phalcon\Loader();
$loader->registerDirs(
[
/** Phalcon controllers */
$configPhalcon->application->controllersDir,
/** Models */
$configPhalcon->application->servicesDir,
...
...
],
true
)->register();
Class 名称是 Service_Name(),其中服务 - 目录。文件名为 Name.php,因此我需要为目录注册 class 前缀:
$loader->registerPrefixes(
[
'Service_' => $configPhalcon->application->servicesDir,
...
...
],
true
)->register();
现在,我想得到我的服务class:
$serv = new Service_Name();
并收到致命错误:Class 'Service_Name' 未找到。请帮助我,我做错了什么?
谢谢你 Artamiel 我找到问题了!我有 phalcon 1.3 并且一切正常,然后我将 phalcon 更新到 2.0 版本,并且没有测试自动加载。
区别在于目录的前缀 类
1.3版本我用'Service_'
在 2.0 中工作正常 'Service'
所以,解决方案是
$loader->registerPrefixes(
[
'Service' => $configPhalcon->application->servicesDir,
...
...
],
true
)->register();
我在从 phalcon 框架 2.0 中的目录加载 "Model" classes 时遇到问题。
我现在不能使用命名空间,因为项目是从ZF1一步步迁移过来的,Model classes和自己有很多依赖关系。如果我为每个目录注册名称空间 - 加载程序工作得很好,但我需要在没有名称空间的情况下这样做。
所以我这样做了:
$loader = new \Phalcon\Loader();
$loader->registerDirs(
[
/** Phalcon controllers */
$configPhalcon->application->controllersDir,
/** Models */
$configPhalcon->application->servicesDir,
...
...
],
true
)->register();
Class 名称是 Service_Name(),其中服务 - 目录。文件名为 Name.php,因此我需要为目录注册 class 前缀:
$loader->registerPrefixes(
[
'Service_' => $configPhalcon->application->servicesDir,
...
...
],
true
)->register();
现在,我想得到我的服务class:
$serv = new Service_Name();
并收到致命错误:Class 'Service_Name' 未找到。请帮助我,我做错了什么?
谢谢你 Artamiel 我找到问题了!我有 phalcon 1.3 并且一切正常,然后我将 phalcon 更新到 2.0 版本,并且没有测试自动加载。
区别在于目录的前缀 类
1.3版本我用'Service_'
在 2.0 中工作正常 'Service'
所以,解决方案是
$loader->registerPrefixes(
[
'Service' => $configPhalcon->application->servicesDir,
...
...
],
true
)->register();