《深入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.继承与派生