国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php面相對象的魔術方法使用總結

2024-09-04 11:43:48
字體:
來源:轉載
供稿:網友

下面本文章給各位簡單的總結一下php面相對象的魔術方法相關方法命令了,希望這幾個例子能幫助到大家理解魔術方法吧.

1.__construct()

實例化對象是被自動調用,當__construct和以類名為函數名的函數,同時存在時調用__construct,另一個不背調用,類名為函數名的函數為老版的構造函數.

2.__destruct()

當刪除一個對象或一個對象操作結束是被調用。

3.__call()

對象調用某個方法。若方法不存在,這調用__call 這個方法

4.__get()

讀取一個對象屬性,如果對象屬性是私有的會調用它

5.__set()

給一個對象屬性賦值時如果屬性是私有的會調用它

6.__toString()

打印一個對象的時候會被調用。

7.__clone()

克隆對象時被調用,如:$a=new test(); $a1=clone $a;

8.__sleep()

Serialize 之前被調用,若對象比較大,想刪減一點東西在序列化可以用它.

9.__wakeup()

Unserialize時被調用,做些對象的初始化工作.

10.__isset()

檢測一個對象的屬性是否存在如果檢測的屬性是私有的時候會被調用.

11.__unset()

刪除一個對象屬性時如果 刪除的對象屬性是私有的會被調用.

12.__set_state()

調用var_export時,被調用,用__set_state的返回值做為var_export的返回值.

13.__autoload()

實例化一個對象時,如果對應的類不存在,則該方法被掉用.

實例代碼如下:

  1. <?php 
  2. class BookStore{ 
  3.  private $p = array(); 
  4.  function __set($name,$value){ 
  5.   print "set:::::{$name}:{$value}<br />"
  6.   $this->p[$name] = $value
  7.  } //開源軟件:Vevb.com 
  8.  function __get($name){ 
  9.   print "get:::::{$name}<br />"
  10.   //array_key_exists檢查給定的鍵名或索引是否存在于數組中 
  11.   return array_key_exists($name,$this->p) ? $this->p[$name] : null; 
  12.  } 
  13. $computer = new BookStore(); 
  14. $computer->php = 'php web開發大全'
  15. echo "php書籍=".$computer->php; 
  16. ?> 

__autoload(),你是不是還在因為調用的類或函數過多而煩惱,是不是還在因為寫了n遍的require()和include()而煩惱,知道__autoload()方法,你就不需這么做了,下面我來做一個拋磚引玉的作用.

MyClass.php文件代碼如下:

  1. <?php 
  2.  class MyClass{ 
  3.   function printWeb(){ 
  4.    echo "你現在訪問的網站是www.survivalescaperooms.com"
  5.   } 
  6.  } 
  7. ?> 

general.inc.php文件

  1. <?php 
  2. function __autoload($class_name){ 
  3.  $file(dirname(__FILE__))."/libs/classes/$class_name.php"
  4.  if (!file_exists($file)){ 
  5.   return false; 
  6.  }else
  7.   require_once($file); 
  8.  } 
  9. ?> 

main.php

  1. <?php 
  2. require("general.inc.php"); 
  3. $obj = new Myclass(); 
  4. if (is_object($obj)){ 
  5.  $obj->printWeb(); 
  6. }else
  7.  echo "類文件沒調入"
  8. ?> 

運行結果:你現在訪問的網站是www.survivalescaperooms.com

當然還有很多魔術方法,比如__isset(),__unset(),__toString(),__clone()這里就不一一介紹了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 元氏县| 芦山县| 疏勒县| 万年县| 新丰县| 安徽省| 大丰市| 阿克陶县| 博乐市| 鲜城| 福鼎市| 广德县| 吴堡县| 克山县| 锦屏县| 商南县| 晋城| 莒南县| 沁阳市| 广平县| 文水县| 定远县| 江津市| 林西县| 修水县| 伽师县| 桑植县| 澄江县| 乐都县| 蓬莱市| 黑龙江省| 潮安县| 遂溪县| 镇坪县| 三明市| 于都县| 大方县| 自贡市| 朔州市| 松溪县| 民丰县|