background image

 

PHP 入门:PHP 语言构造器介绍

你提到的 语言构造器 ,英文是 language construct”,是语言构成的意思,翻译成语言构
造器难免有点令人困惑
PHP 里有

echo

print

die

require

等几个特殊的关键字,虽然它们用起来像是函数,但实际

上更类似于

if

while

这样控制语句,而不是一个函数。也就是说,当解释器遇到:

代码如下:
 

print

 'Hello world';

 
 
这样的一个表达式的时候,并不会把它转换成函数调用,而是直接映射到一系列预先定
义好的操作。使用语言构成的时候可以加括号,也可以不加括号,但是使用函数的时候必
须加括号。

你提到的 可变函数 ,英文是 variable 

function

,变量函数的意思,翻译成 可变函数 也

有点扭曲原义,把 variable(变量)这个名词按形容词(可变)的含义来翻译了。PHP 里
的 Variable 

function

是指如果在一个变量后面加上一对括号,那么解释器会试图寻找名字

和这个变量的值一样的一个函数,如果找到了就执行它。例如,有一个函数 foo(),那么
可以用下面这种方式调用这个函数:
代码如下:
 

// 

 

初始化一个字符串变量

$func

 = 'foo'; 

 

// 

 

找到名字和这个字符串一样的函数,并且执行它

$func

();

所以,你提到的这句话的含义就是,使用变量函数这种方式来调用一个语言构成是不允
许的,例如下面这样:
代码如下:
 

$func

 = 'print'; 

 

// 这样做会产生异常,因为 print

 

不是一个函数,而是语言的构成部分

$func

('hello world');