xcguoyu 2020-03-03
(!注意,__construct()前的“__”是两个“_”,也就是“_ _”)
在PHP5.0后的版本,允许开发者设定一个构造函数,来初始化定义的新对象里的值。
比如这里有个对象
class demo { var $a; var $b; function outAB() { echo $this->a; echo $this->b; } }
我们可以发现里面没有重构$a,$b的值,所以现在如果我导入这个对象时能如下所示重构$a$b就很轻松了
$cs = new demo(3,5); //cs为测试之意。 该句表示把$a定义为3,$b定义为5.
而代码不能这样写
class demo($a,$b)
{
}
所以若直接在对象中引入PHP构造函数__construct(),然后定义就行了。
class demo { var $a; var $b; function __construct($a,$b) { $this->a=$a; $this->b=$b; } function outAB() { echo $this->a; echo $this->b; } } $cs =new demo(3,5); $cs->outAB();
是一道经常出现在前端面试时的问题。如果只是简单的了解new关键字是实例化构造函数获取对象,是万万不能够的。更深入的层级发生了什么呢?同时面试官想从这道题里面考察什么呢?下面胡哥为各位小伙伴一一来解密。