define用来定义一个常量,常量也是全局范围的。不用管作用域,可以在脚本的任何地方访问。一个常量一旦被定义,就不能再改变或者取消定义。
常量与变量有很多相似的地方,很容易混淆;下面列举一下常量与变量之间的不同点:
一个常量值在指定之后就不可以更改
设置常量时,不需要在前面加上“$”符号
常量可以被所有范围的域访问
常量的值只能是“字符串[string]”和“数字[number]”
define的语法格式如下:define(name,value,case_insensitive)参数描述
name 必要参数,指定常量的名称
value 必要参数,指定常量的值
case_insensitive可选参数,指定常量的名称是否是不区分大小写的[case-insensitive]。如果设置为True,则不区分字母大小写;如果设置为False,则区分字母大小写。默认值是:False
指定一个常量(区分大小写),其示例代码如下:
<?php
define("GREETING","How are you today?");
echo constant("GREETING");
?>
输出下面的结果:How are you today?
指定一个常量(不区分大小写),其示例代码如下:
<?php
define("GREETING","How are you today?",TRUE);
echo constant("GREETING");
?>
输出下面的结果:How are you today?
defined
defined用来检测常量有没有被定义,若常量存在,则返回 true,否则返回 false。
defined的语法格式如下:defined(name)参数描述
name必要参数。指定常量对象的名称
其示例代码如下:
<?php
define("GREETING","How are you today?");
echo defined("GREETING");
?>
输出下面的结果:1
ThinkPHP模板引擎的defined标签用于判断常量是否已经被定义。
defined标签用法如下:要输出的内容
在模板/Tpl/default/Index/display.html中使用defined标签如下:网站名称:{*SITE_NAME}
如果判断没有被定义,可以使用:{*SITE_NAME}不存在活未定义