使用可变外部视图 phalcon


Use variable outside views phalcon

我正在使用Phalcon和他的能力,通过他的Class Translate使翻译更容易。到目前为止,我将 t 变量从索引传递到所有视图,就在我设置 volt 时,如下所示:

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

这是有效的,但我也有页面可以从文件夹视图外部翻译,以.php而不是 .volt 格式。如何将此变量"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