《深入PHP与jQuery开发》第三章学习笔记
1.PHP的魔术方法(在对象中发生某些例行事件时会自动调用这些方法)
- PHP提供了魔术方法
__construct()
(构造函数),在新对象被创建时会被自动调用;
- 要在对象被销毁时自动调用一个函数,可以使用
__destruct()
(析构函数)的魔术方法。在需要做类清理工作(例如,关闭数据库连接)时它就非常有用。
- 要显式地触发析构行为,可以用
unset()
函数销毁这个对象。
- 将类输出为字符串,要将
MyClass
类输出为一个字符串而不发生错误,需要定义另一个魔术方法__toString()
。如果没有定义__toString()
方法就输出对象会发生致命错误(程序停止运行)。在没有定义__toString()
方法的情况下用echo
指令输出对象:
<?php
class MyClass {
public $var = "MyClass";
public function __construct() {
echo 'The class "',__CLASS__,'" was initialized!<br/>';
}
public function __destruct() {
echo 'The class "',__CLASS__,'" was destroyed!<br/>';
}
public function __toString() {
echo "Using the toString method: ";
return __CLASS__;
}
}
$myclass = new MyClass;
var_dump($myclass); //直接打印类变量
echo $myclass; //调用__toString方法
unset($myclass);
2.继承与派生
- 2.1.要改变新类中继承来的属性或者方法,只需要在新类中重新声明这个属性或方法,就可以简单地覆盖掉它。
- 2.2.如果是要覆盖时保留被覆盖方法的功能,只需要在保留原方法功能的基础上,要为继承得来的方法添加新功能,使用
parent
关键字加上作用域解析符(: