php自动加载类

先说一个魔术方法 

__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");
        }

posted @ 2017-04-20 21:42  雾若晨曦  阅读(230)  评论(0编辑  收藏  举报