如何在cakephp 3模板视图中调用php return函数?

How to call php return function in cakephp 3 template view?

我不是很熟悉这种类型的函数(return没有参数)。

function get_countries()
{
return [
    "AF" => __("Afganistan"),
    "AL" => __("Albania"),
    "DZ" => __("Algeria"),
    "AS" => __("American Samoa"),
    "AD" => __("Andorra"),
    "AO" => __("Angola"),
    "AI" => __("Anguilla"),
    "AQ" => __("Antarctica"),
    "AG" => __("Antigua and Barbuda"),
    "AR" => __("Argentina"),
    "AM" => __("Armenia"),
    "AW" => __("Aruba"),
    "AU" => __("Australia"),
    "AT" => __("Austria"),
    "AX" => __("Åland Islands")
    ];
}

如何在 Cakephp 模板视图中调用此函数? 假设我有 'AF' 作为调用此函数的值以获得 'Afganistan'.

按键获取元素之一的最简单方法是:

function get_country($country)
{
    return [
        "AF" => __("Afganistan"),
        "AL" => __("Albania"),
        "DZ" => __("Algeria"),
        "AS" => __("American Samoa"),
        "AD" => __("Andorra"),
        "AO" => __("Angola"),
        "AI" => __("Anguilla"),
        "AQ" => __("Antarctica"),
        "AG" => __("Antigua and Barbuda"),
        "AR" => __("Argentina"),
        "AM" => __("Armenia"),
        "AW" => __("Aruba"),
        "AU" => __("Australia"),
        "AT" => __("Austria"),
        "AX" => __("Åland Islands")
    ][$country];
}

如果你想让你的代码更干净和可重用,拆分保持你发布的功能并添加另一个:

function get_country($country)
{
    return get_countries()[$country];
}

如果您不能确定每个输入值都有一个国家,您也可以写return get_countries()[$country] ?? ''。然后它将只是 return 一个空字符串。