关于PHP语言构造器
2013-07-08 11:04
120 查看
print ‘Hello world’; 这样的一个表达式的时候,并不会把它转换成函数调用,而是直接映射到一系列预先定义好的操作。使用语言构成的时候可以加括号,也可以不加括号,但是使用函数的时候必须加括号。
你提到的“可变函数”,英文是”variable function”,变量函数的意思,翻译成“可变函数”也有点扭曲原义,把variable(变量)这个名词按形容词(可变)的含义来翻译了。PHP里的Variable function是指如果在一个变量后面加上一对括号,那么解释器会试图寻找名字和这个变量的值一样的一个函数,如果找到了就执行它。例如,有一个函数foo(),那么可以用下面这种方式调用这个函数:
所以,你提到的这句话的含义就是,使用变量函数这种方式来调用一个语言构成是不允许的,例如下面这样:
执行这段代码,会产生一个异常,函数print没有定义。
你提到的“可变函数”,英文是”variable function”,变量函数的意思,翻译成“可变函数”也有点扭曲原义,把variable(变量)这个名词按形容词(可变)的含义来翻译了。PHP里的Variable function是指如果在一个变量后面加上一对括号,那么解释器会试图寻找名字和这个变量的值一样的一个函数,如果找到了就执行它。例如,有一个函数foo(),那么可以用下面这种方式调用这个函数:
1 2 3 4 5 | // 初始化一个字符串变量 $func = 'foo'; // 找到名字和这个字符串一样的函数,并且执行它 $func(); |
1 2 3 4 | $func = 'print'; // 这样做会产生异常,因为print不是一个函数,而是语言的构成部分 $func('hello world'); |
相关文章推荐
- 关于PHP语言构造器介绍
- 关于PHP语言构造器介绍
- 2013关于PHP语言构造器介绍_PHP教程
- Php 3.x与4.x中关于对象编程的不兼容问题之一 构造器说
- 关于 Java 构造器的一些讨论
- 关于构造器
- 关于java的构造器
- 关于Java中的继承,包括重写、构造器、访问权限、构造过程等知识总结
- java中关于构造器构造函数构造方法重载方法的理解
- 关于Runable接口和Thread的构造器
- 关于构造器
- 关于Java的构造器和直接为成员变量赋值的区别
- 关于Random的构造器 Random(long seed)的一些思考
- C#学习小记6 关于构造器多载及个人对多载的感受
- 关于java构造器的理解(Constructor)
- 关于super和this关键字调用构造器的几点总结
- 关于Java继承-继承以后构造器的实现
- Java继承机制中,关于构造器的重写
- 关于在java中的构造器
- 关于java构造器