克隆对象及加载类
克隆对象__clone()方法
有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new”关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要根据一个对象完全克隆出一个一模一样的对象,是非常有必要的,而且克隆以后,两个对象互不干扰。
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);
结果:
自动加载类 __autoload()函数
当在一个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"; }