這里閱讀的php版本為PHP-7.1.0 RC3,閱讀代碼的平臺為linux。
我們研究下反射這個擴(kuò)展。
反射這個擴(kuò)展目錄是存在在:ext/reflection。其實里面的代碼很簡單。一個.h文件,一個 .c文件。
我們先看下.c文件中,會看到很多ZEND_METHOD
ZEND_METHOD(reflection_function, getReturnType){ ... }
對應(yīng)的宏:
#define ZEND_METHOD(classname, name) ZEND_NAMED_FUNCTION(ZEND_MN(classname##_##name))#define ZEND_NAMED_FUNCTION(name) void name(INTERNAL_FUNCTION_PARAMETERS)#define ZEND_MN(name) zim_##name#define INTERNAL_FUNCTION_PARAMETERS zend_execute_data *execute_data, zval *return_value
這里的##代表的是連接,展開實際上就是:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26
![學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)](http://m.roadsoft.com.cn/attached/image/templet/e87d53eb-cf7a-4689-887a-1cd260f416a5.jpg)