1.常量声明
1.1define()函数声明方式
使用 define()
函数声明常量,值可以为任意表达式。
//声明常量时必须同时初始化
define(string $constant_name, mixed $value)
//示例
//简单的标量类型的值
define("CONSTANT", "Hello world.");
echo CONSTANT; // 输出:Hello world.
//包含元素只为标量类型表达式的数组
define('ANIMALS', array(
'dog',
'cat',
'bird'
));
echo ANIMALS[1]; // 输出:cat
1.2const关键字声明方式
使用 const
关键字声明常量,值只可以为 标量类型(int
, float
, bool
, string
)表达式 或者 包含元素只为标量类型(int
, float
, bool
, string
)表达式的数组。
使用 const
关键字的常量不能声明在函数体内,if
或 循环语句内 以及 try
/catch
语句块内。
//声明常量时必须同时初始化
const [类型] 常量名 = 值;
//示例
//简单的标量类型的值
const CONSTANT = 'Hello World';
echo CONSTANT; // 输出:Hello World
//标量类型表达式
const ANOTHER_CONST = CONSTANT.'; Goodbye World';
echo ANOTHER_CONST; // 输出:Hello World; Goodbye World
//包含元素只为标量类型表达式的数组
const ANIMALS = array('dog', 'cat', 'bird');
echo ANIMALS[1]; // 输出:cat
2.常量分类
2.1全局常量
名称 | 描述 |
全局常量 | 支持使用 define() 函数和 const 关键字声明方式 |
2.2成员常量
注意:PHP 语言不支持实例常量。
名称 | 描述 |
类(接口)常量 | 只支持使用 const 关键字声明方式 |
2.3局部常量
名称 | 描述 |
局部常量 | 只支持使用 define() 函数声明方式 |
3.魔术(Magic)常量
魔术常量 | 描述 |
__LINE__ | 文件中的当前行号。 |
__FILE__ | 已解析符号链接的文件的完整路径和文件名。如果用在被包含(include)文件中,则返回被包含(include)的文件名。 |
__DIR__ | 文件所在的目录。如果用在被包含(include)文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__) 。除非是根目录,否则目录中名不包括末尾的反斜杠(/ )。 |
__FUNCTION__ | 当前函数的名称。匿名函数则为 {closure} 。 |
__CLASS__ | 类名。类名包含声明类的命名空间(例如 Foo\Bar )。当被用在 trait 方法中时,__CLASS__ 是 调用 trait 的类的名称。 |
__TRAIT__ | trait 名。trait 名包含声明 trait 的命名空间(例如 Foo\Bar )。 |
__METHOD__ | 类的当前方法名称。 |
__NAMESPACE__ | 当前命名空间的名称。 |
ClassName::class | 类的完全限定名称。 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/php/phplang/28875.html