CakePHP自定义全局功能

Jef*_*efe 4 cakephp

我正在处理的应用程序有几个名为"active"的数据库字段,它是boolean.但是,我希望它不是在视图中显示"1"或"0",而是说"是"或"否".

我有以下功能:

function activeFriendlyName($status)
    {
        if ($status == 1)
        {
            return "Yes";
        }
        else
        {
            return "No";
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是,我不确定应该把这个全局函数放在哪里?它是app_model.php文件吗?另外,我如何调用此函数来应用"格式化"?

dec*_*eze 5

您应该保留数据库中的数据,直到您需要显示它为止.这意味着View是改变它的最佳位置.我只想简单地说:

echo $model['Model']['bool'] ? "Yes" : "No";
Run Code Online (Sandbox Code Playgroud)

但是,如果您需要更复杂的格式规则,而您不希望每次都重复这些规则,请制作自定义助手.

可以定义一个全局函数bootstrap.php,但我不推荐它.

  • 然后最好的选择是制作一个自定义助手.或者使用翻译函数:`$ x?__('是'):__('不')` (3认同)