Phalcon从目录加载类


phalcon load classes from directory

我有一个问题,从目录加载"模型"类在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();