将所有常数值加载到控制器中

时间:2018-12-10 15:17:45

标签: php codeigniter

我在Library中有一个常量类,我可以在控制器中调用其中一个,这是我的问题,如何在控制器中调用该类的所有常量值?

class Enum {
    const One = '1';
    const Two= '2';
}

使用:

return Enum::One; // print '1'

1 个答案:

答案 0 :(得分:0)

最简单(尽管不一定最好)的方法是像

一样在数组中定义它们
$const = array(
  'One'    => 1,
  'Two'    => 2,
);

然后您将其称为$const['One']$const['Two']

如果这些常量在任何地方都可以使用,则可以设置一个助手函数,该函数会在每个看起来像这样的控制器上加载

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

function get_constants()
{
    $const = array(
        'One'          => 1,
        'Two'          => 2,
        'Copyright'    => '2018. YourCompany, LLC',
        'Creator'      => 'Your name here',
    );

    return $const;
}

在任何地方加载帮助程序,然后您可以像这样使用它:

$constants = get_constants();
echo $constants['Creator']; // outputs 'Your name here'

还有更多标准方法,但这是迄今为止最简单的AFAIK