2012-04-22 30 views
1

我正在嘗試開發一個使用Eclipse和CDT的PHP擴展,但擴展代碼被報告爲完整的語法錯誤和警告。我設法擺脫其中的一部分,告訴CDT尋找來自PHP源代碼的PHP include目錄和main目錄,該目錄解決了所有包含問題,但仍存在很多問題。zval之類的東西在哪裏定義?

具體來說,我在哪裏找到zvalSUCCESSFAILURESTANDARD_MODULE_PROPERTIESzend_module_entryzend_function_entryzend_parse_parameters的定義是什麼?如何讓CDT不將<module name>,<module name>_functionsreturn_value標記爲無法解析的符號?

有沒有更好的方法來使用IDE開發PHP擴展?

回答

2

對於在哪裏可以找到:

typedef struct _zval_struct zval;      : ./Zend/zend.h 
struct _zval_struct {         : ./Zend/zend.h 
SUCCESS            : ./Zend/zend.h 
FAILURE            : ./Zend/zend.h 
STANDARD_MODULE_PROPERTIES       : ./Zend/zend_modules.h 
typedef struct _zend_module_entry zend_module_entry; : ./Zend/zend_modules.h 
struct _zend_module_entry { :       : ./Zend/zend_modules.h 
typedef struct _zend_function_entry { 
… 
} zend_function_entry;        : ./Zend/zend_API.h 
zend_parse_parameters(        : ./Zend/zend_API.c 

如果你想看看PHP源代碼一樣,我建議你結合使用即用的Vim cscope。然後你所要做的就是在zval上打上標記,輸入兩個鍵並跳轉到定​​義。


從一個快速的谷歌它看起來像Eclipse也有一些cscope的支持或類似的東西。 Search workspace?這將需要您將PHP源代碼加載到工作區中,我猜。

說到CDT我不知道。從未使用它。


編輯:

看了一下是出於好奇,需要了解CDT。

  • 創建了一個標準的C項目。
  • 右鍵單擊項目
    • 路徑和符號
      • 源位置;添加了PHP目錄。
  • 右鍵單擊項目
    • 指數
      • 重建(大源,需要一段時間)

現在我可以說即zend_parse_param按Ctrl空間並獲得自動完成。或者zend_parse_parameters(Ctrl空間

或者選擇SearchC/C++...並選擇「定義」,文本「zval」→查找並獲取定義。

或者類型zva按Ctrl空間並獲得zval

可以在Project Explorer也右鍵PHP源,並選擇即Exclude from build