defined('WF_CORE_ROOT') or die( 'Access not allowed');
defined('WF_CORE_ROOT') or die( 'Access not allowed');
在PHP中,可以在一个PHP文件的头部中,可以经常看到这个语句,如果需要理解这条语句,需要理解如下两个知识点:
一,短路求值
PHP或C或很多现代语言都有这个特性,在计算逻辑或表达式的时候,计算左侧如果是true
,那么就不再计算右侧,直接返回true
,所以A or B;
可以达到if(!A) B;
的效果
同理,计算逻辑与的时候,如果左侧是false
,那么同样会发生短路,不计算右侧直接返回false
,A and B;
类似if(A) B;
故需要理解的第一点是这条语句是一条短路求值句。
二, defined,or,die三条语句的作用与函数
defineed
搜寻一个常量是否被定义,如果被定义,则返回ture
,否则返回false
。
or
逻辑运算符,如果为一方为真,则此表达式为真。
die
用于结束此PHP脚本
那么像下面的语句是什么意思哈?
defined('WF_CORE_ROOT') or die( 'Access not allowed');
他首先可以按短路求值法,如果前面的值没有被设置,即返回假,则执行后面的die
语句。