Phalcon Incubator不加载翻译命名空间

时间:2014-10-25 20:04:03

标签: php namespaces composer-php phalcon

我已经添加了作曲家要求:

{
    "require": {
        "phalcon/incubator": "dev-master"
    }
}

我已将位置添加到Phalcon加载程序文件中(这是正确的吗?):

$loader = new \Phalcon\Loader();

/**
 * We're a registering a set of directories taken from the configuration file
 */
$loader->registerNamespaces(array(
    'Phalcon' => __DIR__ . '/../../vendor/phalcon/incubator/Library/Phalcon/',
    'APPNAME\Models' => $config->application->modelsDir,
    'APPNAME\Controllers' => $config->application->controllersDir,
    'APPNAME\Forms' => $config->application->formsDir,
    'APPNAME' => $config->application->libraryDir
));

$loader->register();

然后我在控制器中有这个:

$translate = new Phalcon\Translate\Adapter\Gettext(array(
            'locale' => 'en_GB',
            'file' => 'messages',
            'directory' => '../app/lang'
));

但是我收到以下错误: enter image description here

为什么不加载孵化器文件?

由于 森

1 个答案:

答案 0 :(得分:2)

如果不使用use关键字包含名称空间,则需要使用FQCN :(不是FQCN中的第一个\

$translate = new \Phalcon\Translate\Adapter\Gettext(array(
        'locale' => 'en_GB',
        'file' => 'messages',
        'directory' => '../app/lang'
));

如果你不这样做,假定命名空间是相对于当前命名空间(由文件顶部的namespace语句定义)


顺便说一句,您不需要配置Phalcon自动加载,作曲家会为您自动加载Phalcon。我还建议使用Composer的自动加载器,而不是Composer和phalcon的加载器。