php雖然很容易入門,但是要深入,還是有些路要走的,今天我們就來聊聊php一些比較難理解的知識點。
● use
php從5.3.0開始引入了一個叫作命名空間的新特徵,讓我們能夠定義相同的類別和處理與第三方函式庫同名類別的時候有了很好的解決方案,在一個命名空間裡面能夠包括類別、函數、介面和常數,有了命名空間以後,在其他地方需要使用命名空間時,需要使用use引入該命名空間或者為此命名空間定義一個別名再使用,這是use的第一個使用情況,特別注意的是,這裡的use並沒有將其對應的檔案載入進來。
在使用php的時候,我們發現有很多函數有一個回呼函數的參數,我們可以使用匿名函數(也叫閉包來實作),同時,我們知道在php的函數裡面無法直接用外部的變量,那麼在閉包裡面要使用外面的變量,怎麼辦呢?參考下面的例子,用use就可以做到,這是use的第二種用法。
至於use的第三種用法請看下面的Traits。
● Traits
#我們知道,php不像C 一樣,是多繼承語言,它是單一繼承語言,如果有時我們需要繼承多個類別怎麼辦?這時候Traits就上場了,我們只要在類別中用use宣告多個trait,這樣目前類別中的同名方法覆寫trait,而trait又覆寫基底類別中的同名方法,屬性也是一樣的。
● 錯誤和例外的區別
#不管是錯誤發生還是某種異常我們未捕獲,我們的程式都會出現問題,而且不管是錯誤還是未捕獲異常,二者的表現都是一樣的,導致我們對錯誤和異常的理解總是很模糊,其實異常就是理論上程序沒有問題,但是運行的時候,因為某些特殊的情況而終止了程式的運行,例如連結資料庫的操作,如果一切都好,那麼我們應該可以正常的連結資料庫,但是當資料庫的可用連線數沒有了,或是無法連結資料庫,那麼這個時候,如果沒有捕獲這個異常,肯定是會出錯的。
以上是這三個難的PHP知識點,你都會了嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!