克隆对象及加载类

克隆对象__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";
}

  

 

posted @ 2016-12-13 16:27  发瑞  阅读(217)  评论(0编辑  收藏  举报