有的时候咱们须要在一个项目里面,使用两个或多个同样的对象,若是你使用“new”关键字从新建立对象的话,再赋值上相同的属性,这样作比较烦琐并且也容易出错,因此要根据一个对象彻底克隆出一个如出一辙的对象,是很是有必要的,并且克隆之后,两个对象互不干扰。php
class Ren { public $name; function Run() { echo "跑"; } function __tostring() { return "name变量表明的是人员名称,Run方法是一个跑的方法"; } //克隆对象的时候自动调用的方法 function __clone() { $this->name = "李四"; } } $r = new Ren(); $r->name = "张三"; $r1 = clone $r; var_dump($r1); var_dump($r);
结果:html
当在一个PHP文件中须要调用另外一个文件中声明的类时,就须要经过include把 这个文件引入。不过有的时候,在文件众多的项目中,要一一将所需类的文件都include进来,是一个很让人头疼的事,因此咱们能不能在用到什么类的时 候,再把这个类所在的php文件导入呢?这就是咱们这里咱们要讲的自动加载类。函数
加载类 //include("./Ren.class.php"); //include "./Ren.class.php"; //require("./Ren.class.php"); //require "./Ren.class.php"; //require_once("./Ren.class.php"); //require_once "./Ren.class.php";
自动加载类 //1.全部的类文件要放在同一个文件夹下 //2.全部类文件的命名规则要一致 //3.全部类文件的名字要和类名保持一致
function __autoload($classname) { require "./libs/".$classname.".class.php"; }