面向對象的開發學習 對象描述 克隆對象 異常處理 自動載入

一,對象描述 __tostring 相似音樂CD的標籤同樣,想知道這個類是作什麼用的時候,能夠直接實例化後打印對象句柄。php

  
  
  
  
  1. <? 
  2. class myclass { 
  3.     function __tostring(){ 
  4.         return "這是一個測試的類"
  5.         } 
  6.     } 
  7.     $myclass = new myclass(); 
  8.     echo $myclass
  9. ?> 

輸出結果 這是一個測試的類ide

二,當對象中有錯誤時,可以獲得準確錯誤信息的 __call($n,$v)測試

至關於錯誤提示,當有錯誤時,可以準確的提供錯誤信息,$n爲錯誤的方法名,$v爲錯誤的值this

  
  
  
  
  1. <? 
  2. class myclass { 
  3.     function __tostring(){ 
  4.         return "這是一個測試的類"
  5.         } 
  6.             function __call($n,$v){ 
  7.     echo "錯誤的方法爲".$n
  8.     echo "錯誤的值爲".print_r($v); 
  9.      
  10.     } 
  11.  
  12.     $myclass = new myclass(); 
  13.     $myclass->demo('第一',0); 
  14. ?> 

輸出結果爲 錯誤的方法爲demoArray ( [0] => 第一 [1] => 0 ) 錯誤的值爲1spa

三,克隆對象,就是克隆出兩個內存克隆對象時使用clone 初始化克隆對象時用方法名爲__clone對象

  
  
  
  
  1. <? 
  2. class myclass { 
  3. public $name="個人類"
  4. function __destruct(){ 
  5.     echo "<br>清除了一個對象";} 
  6.     function __clone(){ 
  7.         $this->name = "你的類";} 
  8.     } 
  9.      
  10.  
  11.     $myclass = new myclass(); 
  12.     $p = clone $myclass
  13.     echo 
  14.     $myclass->name."<br>"
  15.     $p->name; 
  16. ?> 

輸出結果爲 內存

個人類
你的類
清除了一個對象
清除了一個對象string

四,自動引用,經過聲明一個方法 __autoload($name) 變量$name 來傳值,實現自動引用it

思路,首先創建兩個類的PHP文件io

demo.php 

  
  
  
  
  1. <? 
  2. class demo { 
  3.     function fun1(){ 
  4.         echo "引用的demo"
  5.         } 
  6.     } 
  7. ?> 

test1.php

  
  
  
  
  1. <? 
  2. class test1 { 
  3.     function fun2(){ 
  4.         echo "引用的test1"
  5.         } 
  6.     } 
  7. ?> 

而後創建autoload.php 使用聲明 __autoload方法自動引用 demo.php test1.php

  
  
  
  
  1. <? 
  2. function __autoload($name){ 
  3.     include($name.".php"); 
  4.     } 
  5.      
  6.     $p = new demo(); 
  7.     $v = new test1(); 
  8.     echo $p->fun1()."<br>"
  9.     echo $v->fun2(); 
  10. ?> 

輸出結果爲

引用的demo 引用的test1

相關文章
相關標籤/搜索