我正在尝试使用 Eclipse 和 CDT 开发一个 PHP 扩展,但扩展代码被报告为充满了语法错误和警告。我设法通过告诉 CDT 从 PHP 源代码中查找 PHP include
目录和 main
目录来摆脱其中的一部分,这解决了所有包含问题,但仍然存在很多问题。
具体来说,我在哪里可以找到zval
、SUCCESS
、FAILURE
、STANDARD_MODULE_PROPERTIES
、zend_module_entry
、zend_function_entry
和zend_parse_parameters
的定义?如何让 CDT 不将<module name>
、<module name>_functions
和return_value
标记为无法解析的符号?
有没有更好的方法来使用 IDE 开发 PHP 扩展?
在哪里可以找到:
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
按空格键并获得自动完成。或zend_parse_parameters(
Ctrl空格键。
或者选择 Search
-> C/C++...
并选择即"定义",文本"zval" ->搜索并获取定义。
或键入zva
按Ctrl空格键并获取zval
等。
您也可以右键单击 PHP 源代码Project Explorer
并选择即 Exclude from build
等