使用变量外部视图 phalcon

Use variable outside views phalcon

我正在使用 Phalcon 和他的 Class 翻译功能来简化翻译。到目前为止,我正在将 t 变量从索引传递到所有视图,就在我设置伏特时,就像这样:

 $view = new View();
 $view->setViewsDir(WEBSITE_PATH.'/views/');
// Return a translation object
      $view->t = new Phalcon\Translate\Adapter\NativeArray([
        "content" => $localization
      ]);

这行得通,但我还有一些页面要从文件夹视图外部翻译成 .php,而不是 .volt。 我怎样才能share/set/pass这个变量't'到其他地方?

您可以在依赖注入器中注册翻译,例如

$di->setShared('translations', function() use($di) {

    // Include or set your translations here, must be an array
    $translations = ['Phalcon' => 'Falcon', 'Word' => 'Translation'];

    return new \Phalcon\Translate\Adapter\NativeArray(array(
        'content' => $translations
    ));

});

然后你可以在任何控制器中调用翻译,比如

$this->translations->_('Phalcon')

这样的观点中
<?=$this->translations->_('Word') ?>

进一步阅读:https://docs.phalconphp.com/en/latest/reference/translate.html