除非你使用了引用符號“&”來聲明是要做一個引用,而不是一個Copy。在PHP5中,對象總是以引用的形式存在的,對象中的賦值操作同樣也都是一個引用操作。
對象的克隆
當一個對象始終以引用的形式來被調用時,如果我想得到該對象的一個副本,該怎麼辦呢?PHP5提供了一個新的功能,就是對象的克隆,語法為__clone。
對象中的私有、公共及保護模式
PHP4中,一個對象的所有方法和變量都是公共的,這意味著你可以在一個對象的外部操作其中的任意一個變量和方法。PHP5引入了三種新的用來控製這種存取權限的模式,它們是:公共的(Public)、受保護的(Protected)及私有的(Private)。
公共模式(Public):允許在對象外部進行操作控製。
私有模式(Private):隻允許本對象內的方法對其進行操作控製。
受保護模式(Protected):允許本對象及其父對象對其進行操作控製。
接口(Interfaces)
PHP4中的對象支持繼承,要使一個對象成為另一個對象的派生類,你需要使用類似“classfooextendsparent”的代碼來控製。PHP4和PHP5中,一個對象都僅能繼承一次,多重繼承是不被支持的。不過,在PHP5中產生了一個新的名詞:接口,接口是一個沒有具體處理代碼的特殊對象,它僅僅定義了一些方法的名稱及參數,此後的對象就可以方便的使用'implement'關鍵字把需要的接口整合起來,然後再加入具體的執行代碼。
這對提高代碼的可讀性及通俗性有很大的幫助,通過上麵的例子可以看到,對象foo包含了displayable和printable兩個接口,這時我們就可以清楚的知道,對象foo一定會有一個display()方法和一個print()方法,隻需要去了解接口部分,你就可以輕易的操作該對象而不必去關心對象的內部是如何運作的。
抽象類
抽象類不能被實例化。
抽象類與其它類一樣,允許定義變量及方法。
抽象類同樣可以定義一個抽象的方法,抽象類的方法不會被執行,不過將有可能會在其派生類中執行。
__call
PHP5的對象新增了一個專用方法__call(),這個方法用來監視一個對象中的其它方法。如果你試著調用一個對象中不存在的方法,__call方法將會被自動調用。
__set和__get
這是一個很棒的方法,__set和__get方法可以用來捕獲一個對象中不存在的變量和方法。
類型指示
在PHP5中,你可以在對象的方法中指明其參數必須為另一個對象的實例。
靜態成員
靜態成員和靜態方法在麵象對象編程的術語中被稱作“類方法(classmethods)”和“類變量(classvariables)”。
“類方法”在一個對象沒有實例化前允許被調用。同樣,“類變量”在一個對象沒有實例化前可以被獨立操作控製(不需要用一個對象的方法來控製)。
2、異常處理(Exceptions)
異常處理是公認的處理程序錯誤的理想方法,在Java及C中都有這個概念,我們欣喜的看到,在PHP5已經加入了這方麵的應用。你可以嘗試使用“try”和“catch”來控製程序的錯誤。當有錯誤發生的時候,代碼會把錯誤交給“catch”子句來處理,在“catch”子句中,你需要指明要把錯誤交給某個對象處理,這樣做可以使代碼結構看起來更清晰,因為現在我們可以把所有的錯誤信息交給一個對象來處理。
自定義錯誤處理
你可以很方便的用自定義的處理錯誤的代碼來控製你的程序中的意外。你僅僅需要從異常類中派生出一個自己的錯誤控製類,在你自己的錯誤控製類中,你需要有一個構造函數和一個getMessage方法。
3、名稱空間(Namespace)
名稱空間對類的分組或函數分組很有用。它可以把一些相關的類或函數給組合到一起,方便以後調用。
例:名稱空間
php?<
htaMecapseman
節章整完看查𝐰𝐭.𝐩𝐨𝐨到請
xelpmoCssalc
....../\/\
)(tcurtsnoc__noitcnuf
;)"\yeh"\(tnirp
;)(xelpmoC::htaMwen=m$
>?
。)的同相要是口接但(去中間空稱名的同不到放別分們他把以可就你麼那,情事的同不做來象對的樣一稱名個多或個兩明聲要需會能可你,中用運際實在,間空稱名用使下況情種何在要需你意注
想設6PHP
inU持支.1
.。數函的串符字用引要需於在響影的要主,升提的度幅大有會不並能性的PHP,持支的inU掉關,子點的錯不個一是這,己自你在權定決,inU持支啟開否是定設中件文ini.在以可也PHP,點一外另。的略忽以可是點缺的小小點一麼這,升提的度幅大也速網,大強越來越備設件硬,天今的化際國在其尤,點缺的間空用占過超遠,性利便的來帶inU但,間空的多較用占inU然雖,然必其有是inU持支
除移被將slabolGretsigeR.2
少又之少是該應序程的生產所代時3PHP用使仍,裡界世PHP的在現信相。法他無別,外途一寫改了除,用使法無全完將,物產的代時3PHP由是序程果如著表代也slabolGretsigeR除移式正6PHP,態狀閉關是即值置設認默項此,時始開版x.3.4PHP象印,的閉關是能功項此上機主的數多大,患隱的性全安上序程來帶會slabolGretsigeR了略忽卻是但,的便方蠻slabolGretsigeR得覺會者發開PHP的進新多許,定決的要重個一是這