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关键字是实例化构造函数获取对象,是万万不能够的。更深入的层级发生了什么呢?同时面试官想从这道题里面考察什么呢?下面胡哥为各位小伙伴一一来解密。