有的時候咱們須要在一個項目裏面,使用兩個或多個同樣的對象,若是你使用「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"; }