本节主要讲解 PHP面向对象中的 魔术方法 中的其中两种,构造方法 和 析构方法,主要从以下三部分总结:
一、__construct 构造方法
二、__destruct 析构方法
三、构造方法 和 析构方法 【综合练习】
一、 __construct 构造方法
1) 格式:
修饰符 function __construct()
{
方法体
}
实例1:构造方法执行
class cc
{
public $name = '串串';
public $age = 18;
public function __construct()
{
echo "预备工作,准备干掉串串<br>";
}
}
// 实例化
$a = new cc;
运行结果:
2) 特性
① 在实例化的瞬间,自动触发;
② 无返回值;
③ public 可以省略;
④ 构造方式 不允许重复。
3) 调用构造方法的两种方式:
① 自动调用
// 实例化
$a = new cc;
② 手动调用
$a->__construct();
4) 作用:
常用于做 赋初始值 (完成一些对象的初始化工作)
实例2:构造方法 赋初始值
class cc
{
public $name;
public $age;
// 此处的 $name是形参,与属性$name无关
public function __construct($name, $age)
{
echo "预备工作,准备干掉串串";
// 将 形参 给了 属性
$this->name = $name;
var_dump($this->name);
echo "<hr>";
}
public function test1()
{
echo '<br>测试1<br>';
echo $this->name;
echo "<hr>";
return $this;
}
}
// 实例化
$a = new cc('串串', 18);
echo $a->name;
echo "<hr>";
$a->test1();
运行结果:
如何 将两个变量中的方法通用?
答案: 将 变量 变成 属性
class cc
{
public $name;
public $age;
// 此处的 $name 与属性 $name无关
public function __construct($name, $age)
{
// 将 形参 给了 属性
$this->name = $name;
$this->age = $age;
}
public function test1()
{
// 如何 将两个方法中的 变量通用?
// 答案:将 变量 变成 属性
echo $this->name;
echo $this->age;
}
}
实例3:如何 将两个方法中的 变量通用?
class cc
{
public $name;
public $age;
// 此处的 $name是形参,与属性 $name 无关
public function __construct($name, $age)
{