首页 > 后端开发 > 正文

php框架常量 php常量定义的方式有哪些

2023-09-05 07:35:09 | 我爱编程网

今天我爱编程网小编整理了php框架常量 php常量定义的方式有哪些相关内容,希望能帮助到大家,一起来看下吧。

php框架常量 php常量定义的方式有哪些

php如何定义一个自定义常量



PHP默认约定常量的标识符总是大写,而且常量的作用范围是全局,可以在脚本的任何地方访问。合法的常量名以字母或下划线开始,后
面跟任何字母、数字或下划线,字母总是大写。常量一旦定义,就不能再改变或者取消定义。常量只能包含单一类型的数据,如整型或者
字符串。获取常量值时,需要指定常量的名字,但不需要加上$符号。PHP系统常量以__开头,自定义常量尽量不以__开头。
PHP中,使用define()函数定义常量,并能够赋值,语法格式为:
boolean define(string name, mixed value [, bool case_insensitive])其中,name表示要定义的常量名称;value表示常量的值;case_insensitive表示在引用该常量时是否区分大小写,如果该值为true表示不区分大小写。

在PHP5.3以后版本中,可以使用const关键字在类定义的外部定义常量。一个常量一旦被定义,就不能再改变或者取消定义。
如果使用了一个未定义的常量,PHP假定想要的是该常量本身的名字,如图用字符串调用它一样(HELLO对应"HELLO"),同时将发出一个E_NOTICE级的错误。示例:
<?php
//合法的常量名
define("PI", "3.1415926");
define("MAXLENGTH", "100M");
define("TITLE", "PHP视频大全");
//PHP5.3之后新增的常量命名方式
const MIN_VALUE=0.0;
const MAX_VALUE=1.0;
?>

php框架常量 php常量定义的方式有哪些

php常量存储的数据只能是哪些数据类型



什么是PHP常量
所谓常量就是不能改变的量,php常量一旦被定义,就不能被改变或取消定义。
php常量通常用来存储一个不被改变也不希望变化的数据,该数据只能是四种标量数据类型的数据:整型(整数),浮点型(小数),字符串,布尔型(true/false)。
php常量的命名规范
php常量的命名规则和php变量的命名规则类似但不完全一样。
php常量名必须由字母、下划线、数字组成;
不能以数字开头;
是否区分大小写在定义的时候指定;
命名时字母都大写(如:PI);
PHP常量怎么定义
php常量是用define()函数来定义的,define()函数有两个必选参数和一个可选参数。
第一个参数规定常量的名称,也叫标识符;
第二个参数规定常量的值,就是一个不希望被改变的标量数据类型的数据;
第三个参数是可选参数,用来规定常量名是否区分大小写。如果为TRUE,常量名不区分大小写;如果为FALSE(默认),则区分大小写。
推荐教程:PHP教程

php框架常量 php常量定义的方式有哪些我爱编程网

php常量定义的方式有哪些



php常量定义的方式有哪些?
在PHP中可以通过define()和const两种方式定义常量。
可是在开发中我们应该什么时候用define()定义常量,什么时候用const定义常量? 这两种方式定义常量的主要区别是什么?
从5.3版本开始PHP有两种方法来定义常量,使用const关键字或者是使用define()方法:
const FOO = 'BAR';
define('FOO', 'BAR');两者之间最大的区别在于const是在编译时定义常量,而define()方法是在运行时定义常量。
const不能用在if语句中, defne()能用在if语句中。
if(...) {
const FOO = 'BAR';//错误
}
if(...) {
define('FOO', 'BAR');//正确
}define()的一个常用场景是先判断常量是否已经定义再定义常量:
if(defined('FOO)) {
define('FOO', 'BAR')
}const 定义常量时,值只能是静态标量(数字, 字符串, true,false, null), 而define()方法可以把任意表达式的值用作常量的值。从PHP5.6开始const也允许把表达式用作常量的值了。
const BIT_5 = 1 << 5; //PHP5.6后支持,之前的PHP版本不支持
define('BIT_5', 1 << 5);// 所有PHP版本都支持const 只允许简单的常量名,而define()可以把任何表达式的值用作常量名
for ($i = 0; $i < 32; $i++) {
define('BIT_' . $i, 1 << $i);
}const 定义的常量常量名是大小写敏感的,而传递true给define()方法的第三个参数时可以定义大小写不敏感的常量。
define('FOO', 'BAR', true);
echo FOO; //BAR
echo foo; //BAR上面列举的都是const相较define()而言的一些缺点或者不灵活的地方,下面我们看一下为什么我个人推荐用const而不是define()来定义常量(除非要在上述列举的场景中定义常量)。
const 具有更好的可读性,const是语言结构而不是函数,而且与在类中定义类常量的形式保持一致。
const在当前的命名空间中定义常量, 而define()要实现类似效果必须在定义时传递完整的命名空间名称:
namespace ABC;
//To define the constant ABCFOO:
const FOO = 'BAR';
define('ABCFOO', 'BAR');const从PHP5.6版本开始可以把数组用作常量值,而define()在PHP7.0版本开始才支持把数组用作常量值。
const FOO = [1, 2, 3];// valid in PHP 5.6
define('FOO', [1, 2, 3]);// invalid in PHP 5.6, valid in PHP 7.0因为const是语言结构并且在编译时定义常量所以const会比define() 稍稍快一些。
众所周知PHP在用define()定义了大量的常量后会影响效率。 人们设置发明了apc_load_constants()和hidef来绕过define()导致的效率问题。
最后,const还能被用于在类和接口中定义常量,define()只能被用于在全局命名空间中定义常量:
class FOO
{
const BAR = 2;// 正确
}
class Baz
{
define('QUX', 2)// 错误
}总结:
除非要在if分支里定义常量或者是通过表达式的值来命名常量, 其他情况(即使是只是简单的为了代码的可读性)都推荐用const替代define()。
推荐:《PHP教程》

以上就是php框架常量 php常量定义的方式有哪些全部内容,更多相关信息,敬请关注我爱编程网。

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php框架常量 php常量定义的方式有哪些”相关推荐