反射在容器中有著你不看源碼根本了解不到的重要性,一定要好好看看本文
四、必會反射機制
不知道大家有沒有了解過GO的反射機制,咔咔在當時看了go的反射機制后說實話有點暈乎乎的。
但是在后來看了PHP的反射之后,不僅對go的反射有了一定的深入了解,并且對于PHP的反射也是更好的理解。
反射這一概念是在PHP5.0被引出來的,在目前使用的框架中咔咔知道的就有thinkphp和laravel都使用了反射來實現依賴注入。
對于反射的理解:其實就是從根獲取根以外的東西,放在編程中講就是只要知道一個類就可以知道這個類所有的屬性和方法。
案例
這只是一個簡單的實現案例,獲取類的全部方法和屬性。可以看下圖中的打印結果跟TestReflection是否一致。
這個也從側面表現出現一個問題,就是會暴露出來一些本不應該暴露出來的信息。
關于反射提供的接口還有很多,這里就介紹幾個常用的,其余的在框架源碼中解析。
使用反射執行一個類的方法
打印出來的結果就是咔咔
使用反射執行一個類中帶參數的方法

使用反射執行一個類中不帶參數的方法
其它的方法你們自己可以嘗試嘗試,因為這個反射的接口在平時基礎開發是不怎么用的,這咔咔給大家介紹的都是后邊在閱讀源碼都是可以用的到的。
既然了解到了反射,那么反射可以做什么事情呢!其中有一個功能點自動生成文檔。
反射到這里就簡單的了解一下,至于還想了解更多的接口使用可以去官方查看對應的接口信息。

在了解完反射之后就要開始進入正題了,就需要正式進入我們的容器環節了。只有上邊的基礎打好接下來的容器才能更好的理解。
堅持學習、堅持寫博、堅持分享是咔咔從業以來一直所秉持的信念。希望在偌大互聯網中咔咔的文章能帶給你一絲絲幫助。我是咔咔,下期見。