如何将硬编码数组数据定义为PHP框架的一部分?

例如50个美国.现在我只在一个函数中使用50个状态:

function getStateInput() {
    $states = array('AL' => 'Alabama', 'AK' => 'Alaska',
        'AZ' => 'Arizona', etc);

    //use $states
}

或者你可以在自己的states.php中定义$states,然后像这样使用它:

function getStateInput() {
    include('states.php');

    //use $states
}

但由于某些原因,我害怕因为我使用include来定义一个本地函数变量.另一种方法是在states.php中将状态数组分配给超全局(例如,我可以使用$_ENV [‘states’]).然后我可以去:

include('states.php');

function getStateInput() {
    //use $_ENV['states']
}

是最好的之一还是有另一种更好的方法?

解决方法:

常见的方法是分开关注点.你可以,例如.拥有自己的类与地址相关的方法.这个类将是存储有关可能状态的信息的自然场所,例如:

class Address {
    static STATES = array(
        'AL' => 'Alabama',
        'AK' => 'Alaska',
        'AZ' => 'Arizona',
        // ...
    );
}

// and then you can use it somewhere like that:
echo Address::$STATES['AL'];
上一篇:IOS XCode10.1使用Carthage管理第三方运行报错 Library not loaded 的解决办法


下一篇:2019-11-29-WPF-元素裁剪-Clip-属性