這三個難的PHP知識點,你都會了嗎?

2020-07-16 10:06:07
php雖然容易入門,但是要想深入,還是有些路要走的,今天我們就來聊聊php一些比較難理解的知識點。

● use

php從5.3.0開始引入了一個叫作名稱空間的新特徵,讓我們能夠定義相同的類和處理與第三方庫同名類的時候有了很好的解決方案,在一個名稱空間裡面能夠包括類、函數、介面和常數,有了名稱空間以後,在其他地方需要使用名稱空間時,需要使用use引入該名稱空間或者為該名稱空間定義一個別名再使用,這是use的第一種使用情況,特別注意的是,這裡的use並沒有將其對應的檔案載入進來。

在使用php的時候,我們發現有很多函數有一個回撥函數的引數,我們可以使用匿名函數(也叫閉包來實現),同時,我們知道在php的函數裡面無法直接用外部的變數,那麼在閉包裡面要使用外面的變數,怎麼辦呢?參考下面的例子,用use就可以做到,這是use的第二種用法。

至於use的第三種用法請看下面的Traits。

d232f308e92140807d501bc03ca3881.png

● Traits

我們知道,php不像C++一樣,是多繼承語言,它是一種單繼承語言,如果有時我們需要繼承多個類怎麼辦?這個時候Traits就上場了,我們僅僅需要在類中用use宣告多個trait,這樣當前類中的同名方法覆蓋trait,而trait又覆蓋基礎類別中的同名方法,屬性也是一樣的。

4df666fd0fa9bc31e6258fab5bc6594.png

● 錯誤和異常的區別

不管是錯誤發生還是某種異常我們未捕獲,我們的程式都會出現問題,而且不管是錯誤還是未捕獲異常,二者的表現都是一樣的,導致我們對錯誤和異常的理解總是很模糊,其實異常就是理論上程式沒有問題,但是執行的時候,因為某些特殊的情況而終止了程式的執行,比如連結資料庫的操作,如果一切都好,那麼我們應該可以正常的連結資料庫,但是當資料庫的可用連線數沒有了,或者無法連結資料庫,那麼這個時候,如果沒有捕獲這個異常,肯定是會出錯的。

3ba7739008cc2b62926c5b8dc00d624.png

以上就是這三個難的PHP知識點,你都會了嗎?的詳細內容,更多請關注TW511.COM其它相關文章!