PHP 常量定义以及用法

常量介绍

  • 特点: 不能修改,不能销毁,不能删除,声明常量后,该常量可以在页面的任意处使用
  • 声明常量的方法:const 、define、static
  • 命名规范:和变量一样,但是全部大写
const

const是一个语言结构,编译时要比define快,是为全局常量,可在对象里定义,类中使用,可理解为类常量

一般的,我们的代码需要分层,小编的具体分层在另一篇博客上[NULL],有兴趣的话可以去看,在这里,小编以自己的编码实例来演示常量的定义以及方法使用

实战例子

首先,在做一个项目模块的时候,小编会新开一个Do层存放常量,DO层具体位置看每个项目存放DO的位置

  1. 常量的定义
    在这里新建一个TestDo.php文件,我们往里面丢东西
/**
 * Class TestDo
 */
class TestDo
{
    /**
     * 待中心审核
     * @var string
     */
    public const SATE_AUDIT_PENDING_FIRST = 'pendingFirstAudit';

    /**
     * 中心审核失败
     * @var string
     */
    public const SATE_AUDIT_FAIL_FIRST = 'firstAuditFailure';

    /**
     * 待经理审核
     * @var string
     */
    public const SATE_AUDIT_PENDING_SECOND = 'pendingSecondAudit';

    /**
     * 经理审核通过
     * @var string
     */
    public const SATE_AUDIT_PASS_SECOND = 'secondAuditPass';

}
  1. 常量的使用
    紧接下来,我们需要再logic层(处理数据格式)使用这些常量,
    首先,use使用这个TestDo。(引入命名空间),然后我们把字符串存放到数组中,做到[key => 常量对应的值;值 => 我们的预期结果],代码方法如下
/**
 * @return array
 */
public static function getStatusList(): array
{
    return [
        TestDo::SATE_AUDIT_PENDING_FIRST  => '待中心审核',
        TestDo::SATE_AUDIT_FAIL_FIRST 	  => '中心审核失败',
        TestDo::SATE_AUDIT_PENDING_SECOND => '待经理审核',
        TestDo::SATE_AUDIT_PASS_SECOND    => '经理审核通过',
    ];
}
  1. 常量渲染定义方法
    我们存放在数据库中,一般是常量对应的值,所以对数据要进行格式化,编写此方法,在数据渲染的时候直接引用此方法进行数据格式渲染
/**
 * @param string $status
 * @return string
 */
public static function getStatusCN(string $status): string
{
    $statusMapper = self::getStatusList();
    return $statusMapper[$status] ?? '----';
}

也可以这样使用

/**
     * @param string $developType
     * @return string
     */
    public static function getDevelopTypeCN(string $developType): string
    {
        $developTypeMapper = [
            TestDo::SATE_AUDIT_PENDING_FIRST   => '待中心审核',
            TestDo::SATE_AUDIT_FAIL_FIRST 	   => '中心审核失败'
        ];

        return $developTypeMapper[$developType] ?? '----';
    }
  1. 列表字段渲染
    接下来我们举一个例子:来引用我们定义的方法
$array = [
	['id' => '1', 'audit' => 'pendingFirstAudit'],
	['id' => '2', 'audit' => 'firstAuditFailure'],
];

foreach ($array as $key => $item) {
    $array[$key] = self::getDevelopTypeCN($item);
}

在数据量庞大的时候,这样渲染数据简单明了,代码复用率超高,其他开发人员接口也一看就懂,好了,在这里const常量的分享就到这里了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值