在无脂肪框架中,是否可能在模板中显示丢失的密钥?

问题描述 投票:0回答:1

使用Fat Free Framework模板引擎和使用词典文件进行翻译。

在我的模板中,我有{{@_someNonTranslatedWord}}键。

当前,当缺少此键时,FF仅留空空格。有没有办法让FF显示原始密钥,而不是将空格留空?

我希望看到类似的东西:

"My {{@_someNonTranslatedWord}} is missing"

而不是

"My is missing"

因此,我可以轻松识别丢失的密钥并添加它们。当它们丢失时,甚至可能自动翻译它们。

fat-free-framework
1个回答
0
投票

我不认为有可能返回原始的占位符,因为F3正在将模板转换为PHP代码。相反,您可以启用报告未定义的PHP变量:

error_reporting(error_reporting() | E_NOTICE);

一方面,应该足以了解缺失的变量。另一方面,这使您无法使用自动翻译的想法。

我通常会在发生任何警告时抛出异常。以下代码段使您可以记录未定义的变量:

set_error_handler(function($severity, $message, $filename, $lineno) {
    if ($severity === E_NOTICE) {
        // Handle this issue, e.g. throw an exception or log the error silently.
        printf('Received this notice: %s in %s on line %s.', $message, $filename, $lineno);
        // throw new ErrorException($message, 0, $severity, $filename, $lineno);
    }
});

如果您要遵循这种防御性/严格的编程风格,我可以推荐以下代码片段将所有警告升级为异常:Comment on set_error_handler()

© www.soinside.com 2019 - 2024. All rights reserved.