《PHP扩展开发》-协程-开发规范.md 1.2 KB
Newer Older
C
codinghuang 已提交
1
# 开发规范
C
codinghuang 已提交
2 3 4

在开始开发之前,很有必要先说一下开发的规范问题。

5
1、全局`PHP`扩展函数的声明都放在文件`php_study.h`里面。例如:
C
codinghuang 已提交
6 7 8 9 10

```c++
PHP_FUNCTION(test);
```

11 12
然后全局`PHP`扩展函数的实现放在`study_*.cc`里面。

13 14 15 16 17
2、类的方法声明放在相应的`study_*.cc`文件里面,并且声明为`static`类型。例如:

```c++
static PHP_METHOD(study_coroutine, test);
```
18

C
codinghuang 已提交
19
3、扩展函数以及扩展方法的参数声明放在`study_*.cc``study.cc`里面。
C
codinghuang 已提交
20

C
codinghuang 已提交
21 22
4、只在项目根目录下的`study_*.cc`文件里面使用`Zend API`,不在`src`目录的代码里面使用`Zend API`

C
codinghuang 已提交
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
5、用到的标准库函数都在`include/study.h`里面引入。

6、为了防止重复引入头文件,增加如下条件编译。例如,在`study.h`头文件里面写入:

```c++
#ifndef STUDY_H_
#define STUDY_H_


#endif /* STUDY_H_ */
```

注意宏的命名规范。

7、只在`php_study.h`头文件里面引入`PHP`相关的头文件。`study_*.cc`只引入`php_study.h`文件,不去引入`include/study.h`文件。`study.h`文件是被`php_study.h`引入的。

(待补充)

C
codinghuang 已提交
41
[下一篇:整理文件](《PHP扩展开发》-协程-整理文件.md)