2012-04-22 39 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