亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php面向對象__toString() 用法詳解

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

本文章來給各位同學介紹一下關于php面向對象__toString() 用法詳解,__toString() 方法是自動被調用的,是在直接輸出對象引用時自動調用的.

我們前面說過在類里面聲明“--”開始的方法名的方法(PHP給我們提供的),都是在某一時刻不同情況下自動調用執行的方法,“__toString()”方法也是一樣自動被調用的,是在直接輸出對象引用時自動調用的, 前面我們講過對象引用是一個指針,比如說:“$p=new Person()“中,$p就是一個引用,我們不能使用echo 直接輸出$p, 這樣會輸出”Catchable fatal error: Object of class Person could not be converted to string“這樣的錯誤,如果你在類里面定義了“__toString()”方法,在直接輸出對象引用的時候,就不會產生錯誤,而是自動調用了”__toString()”方法, 輸出“__toString()”方法中返回的字符,所以“__toString()”方法一定要有個返回值(return 語句).

實例代碼如下:

  1.     // Declare a simple class 
  2.     class TestClass 
  3.     { 
  4.         public $foo
  5.         public function __construct($foo) { 
  6.         $this->foo = $foo
  7.         } 
  8.        //定義一個__toString方法,返加一個成員屬性$foo 
  9.         public function __toString() { 
  10.         return $this->foo; 
  11.         } 
  12.     } 
  13.     $class = new TestClass('Hello'); 
  14.     //直接輸出對象 
  15.     echo $class
  16. ?> 

似曾相識,在php面向對象編程之魔術方法__set,曾經介紹了什么是魔術方法,這一章又介紹一個魔術方法__tostring()。

__toString()是快速獲取對象的字符串信息的便捷方式,似乎魔術方法都有一個“自動“的特性,如自動獲取,自動打印等,__toString()也不例外,它是在直接輸出對象引用時自動調用的方法。

__toString()的作用

當我們調試程序時,需要知道是否得出正確的數據,比如打印一個對象時,看看這個對象都有哪些屬性,其值是什么,如果類定義了toString方法,就能在測試時,echo打印對象體,對象就會自動調用它所屬類定義的toString方法,格式化輸出這個對象所包含的數據。

下面我們來看一個__toString()的實例,代碼如下:

  1.  class Person{  
  2.      private $name = "";  
  3.      function __construct($name = ""){  
  4.                      
  5.          $this->name = $name;  
  6.      }  
  7.      function say(){  
  8.                      
  9.          echo "Hello,".$this->name."!
    "
    ;    
  10.      }  
  11.      function __tostring(){//在類中定義一個__toString方法  
  12.          return  "Hello,".$this->name."!
    "
    ;      
  13.      }  
  14.  }  
  15.  $WBlog = new Person('WBlog');  
  16.  echo $WBlog;//直接輸出對象引用則自動調用了對象中的__toString()方法  
  17.  $WBlog->say();//試比較一下和上面的自動調用有什么不同  
  18. ?> 
  19. //程序輸出: 
  20. //Hello,WBlog! 
  21. //Hello,WBlog! 

如果不定義“__tostring()”方法會怎么樣呢?例如在上面代碼的基礎上,把“ __tostring()”方法屏蔽掉,再看一下程序輸出結果:

Catchable fatal error: Object of class Person could not be converted to string

由此可知如果在類中沒有定義“__tostring()”方法,則直接輸出以象的引用時就會產生誤法錯誤,另外__tostring()方法體中需要有一個返回值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜片欧美片在线观看| 成人综合网网址| 日本一区二区不卡| 日韩国产高清污视频在线观看| 中文国产亚洲喷潮| 中文字幕av一区| 最近中文字幕2019免费| 国产精品一区av| 91精品久久久久久久久久| 7777精品久久久久久| 中文字幕日韩精品在线观看| 日韩精品免费看| 欧美另类交人妖| 在线观看免费高清视频97| 欧美日韩国产丝袜美女| 欧美视频在线观看免费| 精品久久久国产精品999| 午夜精品三级视频福利| 精品动漫一区二区三区| 国产精品网红直播| 91香蕉国产在线观看| 久久久国产精品一区| 一区三区二区视频| 欧美性生活大片免费观看网址| 久久久视频精品| 欧美日韩国产影院| 中文字幕亚洲情99在线| 91精品国产91久久久久久最新| 日韩免费中文字幕| 精品一区二区亚洲| 热门国产精品亚洲第一区在线| 欧美插天视频在线播放| 91青草视频久久| 亚洲图中文字幕| 国产成人精品av在线| 欧美一级高清免费| 欧美多人乱p欧美4p久久| 国产精品男人的天堂| 国产精品久久久久久久久久| 欧美一区二区大胆人体摄影专业网站| 欧美精品生活片| 久久男人av资源网站| 色婷婷av一区二区三区久久| 色婷婷综合久久久久| 国内揄拍国内精品| 日韩精品视频免费在线观看| 国产精品一久久香蕉国产线看观看| 国产成人啪精品视频免费网| 久久精品国产电影| 亚洲一级黄色av| 欧美中文在线视频| 久久精品国产综合| 亚洲视频网站在线观看| 国产亚洲美女久久| 亚洲精品理论电影| 久久国产加勒比精品无码| 亚洲黄在线观看| 精品偷拍一区二区三区在线看| 亚洲高清久久久久久| 亚洲精品福利在线观看| 亚洲国产日韩欧美在线99| 国产精品久久久久久久app| 欧美久久精品一级黑人c片| 亚洲精品欧美日韩| 裸体女人亚洲精品一区| 欧美伦理91i| 国产精品一区二区三| 欧美中文在线观看| 欧美一级视频免费在线观看| 奇米成人av国产一区二区三区| 国产xxx69麻豆国语对白| 亚洲精品国产拍免费91在线| 欧美日韩精品在线观看| 668精品在线视频| 国产精品91久久久久久| 日韩欧美中文在线| 亚洲天堂日韩电影| 成人综合国产精品| 亚洲午夜精品久久久久久性色| 不卡av日日日| 欧美激情欧美激情在线五月| 欧美日韩性生活视频| 欧美性猛交xxxxx免费看| 国产精品午夜一区二区欲梦| 青青草精品毛片| 亚洲黄色有码视频| 国产综合久久久久久| 久久人人97超碰精品888| 欧美一区二区三区图| 久久视频国产精品免费视频在线| 国产香蕉一区二区三区在线视频| 亚洲国产精品va在线观看黑人| 欧美成人精品不卡视频在线观看| 日本欧美一级片| 亚洲跨种族黑人xxx| 美女av一区二区| 欧美一区第一页| 久久久久99精品久久久久| 91精品在线影院| 日韩一级裸体免费视频| 国产一区二区丝袜| 色播久久人人爽人人爽人人片视av| 亚洲黄一区二区| 久久九九免费视频| 91精品国产91久久久| 欧美性xxxx极品hd欧美风情| 亚洲人成在线观看网站高清| 色吧影院999| 北条麻妃99精品青青久久| 91国自产精品中文字幕亚洲| 国产91精品久久久久| 国产99久久精品一区二区| 91av在线播放| 久久久久久国产精品| 久久久久久久999精品视频| 国产日韩欧美一二三区| 国产91露脸中文字幕在线| 日韩亚洲欧美成人| 91免费看片在线| 欧美日韩在线视频一区二区| 欧美精品18videos性欧| 成人精品在线视频| 精品久久久久久中文字幕| 国产日韩欧美在线看| 性亚洲最疯狂xxxx高清| 亚洲免费av片| 中文字幕日韩欧美在线| 亚洲图片欧美日产| 国产日韩换脸av一区在线观看| 国产精品wwww| 日韩av在线资源| 精品中文视频在线| 亚洲欧美制服另类日韩| 欧美日本在线视频中文字字幕| 日韩在线精品一区| 国产玖玖精品视频| 在线精品国产成人综合| 久久久噜噜噜久噜久久| 久久久久免费视频| 超碰精品一区二区三区乱码| 欧美激情国产日韩精品一区18| 丝袜一区二区三区| 久久久久www| 国产精品国产三级国产专播精品人| 日韩在线观看精品| 国产在线精品成人一区二区三区| 欧美一级片一区| 日韩精品在线视频| 亚洲自拍偷拍色图| 日韩中文字幕视频在线观看| 色黄久久久久久| 91精品国产自产91精品| 欧美日韩中文字幕在线视频| 国产成人综合精品在线| 亚洲综合国产精品| 98精品国产高清在线xxxx天堂| 日韩欧美精品网站| 国产精品女人久久久久久| 国产精品国产三级国产aⅴ9色| 国产一区二区免费| 亚洲国产成人精品久久久国产成人一区| 国产成人一区二区三区小说| 51视频国产精品一区二区| 中文字幕国产亚洲2019|