php雖然容易入門,可是要想深刻,仍是有些路要走的,今天咱們就來聊聊php一些比較難理解的知識點。
usephp
php從5.3.0開始引入了一個叫做命名空間的新特徵,讓咱們可以定義相同的類和處理與第三方庫同名類的時候有了很好的解決方案,在一個命名空間裏面可以包括類、函數、接口和常量,有了命名空間之後,在其餘地方須要使用命名空間時,須要使用use引入該命名空間或者爲該命名空間定義一個別名再使用,這是use的第一種使用狀況,特別注意的是,這裏的use並無將其對應的文件加載進來。
在使用php的時候,咱們發現有不少函數有一個回調函數的參數,咱們能夠使用匿名函數(也叫閉包來實現),同時,咱們知道在php的函數裏面沒法直接用外部的變量,那麼在閉包裏面要使用外面的變量,怎麼辦呢?參考下面的例子,用use就能夠作到,這是use的第二種用法。
至於use的第三種用法請看下面的Traits。數據庫
Traits閉包
咱們知道,php不像C++同樣,是多繼承語言,它是一種單繼承語言,若是有時咱們須要繼承多個類怎麼辦?這個時候Traits就上場了,咱們僅僅須要在類中用use聲明多個trait,這樣當前類中的同名方法覆蓋trait,而trait又覆蓋基類中的同名方法,屬性也是同樣的。函數
錯誤和異常的區別spa
無論是錯誤發生仍是某種異常咱們未捕獲,咱們的程序都會出現問題,並且無論是錯誤仍是未捕獲異常,兩者的表現都是同樣的,致使咱們對錯誤和異常的理解老是很模糊,其實異常就是理論上程序沒有問題,可是運行的時候,由於某些特殊的狀況而終止了程序的運行,好比連接數據庫的操做,若是一切都好,那麼咱們應該能夠正常的連接數據庫,可是當數據庫的可用鏈接數沒有了,或者沒法連接數據庫,那麼這個時候,若是沒有捕獲這個異常,確定是會出錯的。繼承
若是你們以爲這篇文章還不錯,請給予一個贊或者分享給你的好友,若是你有更多好的經驗或問題,請在評論中和你們分享一下。接口
本文由甲爪cpa聯盟整理編輯!http://www.jiazhua.com轉載請註明!ip