先说一个魔术方法
__tostring()方法
当我们在定义类中成员后,通过构建对象,我们无法直接通过输出对象得到对象的内容,这时我们可以通过构造一个魔术方法__tostring(),在构建对象的同时,启用这个魔术方法,从而达到直接输出对象内容的目的
例子
class Ren
{
public $name;
public function __tostring()
{
return "该类是人类,name代表姓名";
}
}
$r = new Ren();
echo $r;
克隆
通过克隆的方法,可以不构建对象,直接克隆已经创建的对象,使克隆对象得到原对象的所有属性方法等全部内容
克隆有两种方式 1.直接调用在类中通过克隆的方法来实现 2.外部通过构造克隆对象来实现
例
class Ren
{
public $name="张三";
public function __clone() //克隆方法1
{
$this->name = "李四";
}
}
$r = new Ren();
$c = clone $r; //克隆方法2,
echo $r->name;
echo $c->name
加载类
当本页面引用外部类文件时,通过加载类的方法来实现 (外部类的命名规则 类名.class.php)
加载类的实现方法有下列几种
1. include("./Ren.class.php"); //会引用类的全部,包括错误,从而可能会引起本页面崩溃
2. include "./Ren.class.php";
3. require("./Ren.class.php"); //只会引用类的相关内容,不容易引入错误而产生的崩溃
4. require "./Ren.class.php";
5. require_once("./Ren.class.php"); //可以写多个而不会报错
6. require_once "./Ren.class.php";
自动加载类 (__autoload)
1.所有的类文件写在同一个目录下
2.类文件的命名规则要一致
3.类的文件名要和类名保持一致
例:
function __autoload($classname)
{
require_once("./".$classname.".class.php");
}