PHP中定义常量的区别,define() vs. const

场景

  • 看到了一篇很好的文章, const vs define

原文连接

原文摘要

  • 这两种方式的根本区别在于const会在代码编译时定义一个常量,而define则是在代码运行时才定义一个常量。这就使得const会有以下几个缺点:
    • const不能在条件语句中使用。如果要定义一个全局变量,const必须要处于整个代码的最外层:
    • const只能用来声明变量(如数字、字符串,或者true, false, null, FILE),而define()还能接受表达式。不过在PHP5.6之后const也可以接受常量的表达式了
    • const的常量命名只能用直白的文本,而define()允许你用任何表达式来对常量命名。这样我们就可以执行以下操作:
    • const定义的常量是大小写敏感的,但是define允许你将其第三个参数设置为true来关闭其对大小写的敏感:
  • const 优点
    • const更加易读、美观。
    • const默认在当前的namespace下定义常量,而使用define则需要你写明整个namespace的完整路径:
    • 因为const在编译时就被执行了,所以它在速度上要比define快一点。
    • const可以在class和interface当中使用 ,而define是做不到这一点的:
  • 除非你需要使用表达式或者在条件语句中定义常量,不然的话仅仅是为了代码的简单可读性你都最好要使用const!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值