From a1ee0d5c5068e7c8b041e0f1c48dbc6e0e04e523 Mon Sep 17 00:00:00 2001 From: codinghuang <2812240764@qq.com> Date: Sat, 1 Jun 2019 15:04:50 +0800 Subject: [PATCH] Update --- ...\210\233\345\273\272\357\274\210\344\270\200\357\274\211.md" | 2 ++ ...250\213-\345\274\200\345\217\221\350\247\204\350\214\203.md" | 2 ++ ...250\213-\346\225\264\347\220\206\346\226\207\344\273\266.md" | 2 ++ ...\220\206\344\270\200\344\270\213\346\236\266\346\236\204.md" | 2 ++ ...\221\250\346\234\237\347\232\204\350\277\207\347\250\213.md" | 2 ++ 5 files changed, 10 insertions(+) diff --git "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\345\215\217\347\250\213\345\210\233\345\273\272\357\274\210\344\270\200\357\274\211.md" "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\345\215\217\347\250\213\345\210\233\345\273\272\357\274\210\344\270\200\357\274\211.md" index 1c5d23c..b6c705f 100644 --- "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\345\215\217\347\250\213\345\210\233\345\273\272\357\274\210\344\270\200\357\274\211.md" +++ "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\345\215\217\347\250\213\345\210\233\345\273\272\357\274\210\344\270\200\357\274\211.md" @@ -1,5 +1,7 @@ # 协程创建(一) +[仓库地址](https://github.com/php-extension-research/study) + ## 协程相关结构定义 首先,我们需要一个`PHP`可用的协程,根据[梳理一下架构](./《PHP扩展开发》-协程-梳理一下架构.md)这篇文章的内容,我们需要在`study_coroutine.h`里面来定义: diff --git "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\345\274\200\345\217\221\350\247\204\350\214\203.md" "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\345\274\200\345\217\221\350\247\204\350\214\203.md" index 6398905..dd5652a 100644 --- "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\345\274\200\345\217\221\350\247\204\350\214\203.md" +++ "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\345\274\200\345\217\221\350\247\204\350\214\203.md" @@ -1,5 +1,7 @@ # 开发规范 +[仓库地址](https://github.com/php-extension-research/study) + 在开始开发之前,很有必要先说一下开发的规范问题。 1、全局`PHP`扩展函数的声明都放在文件`php_study.h`里面。例如: diff --git "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\346\225\264\347\220\206\346\226\207\344\273\266.md" "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\346\225\264\347\220\206\346\226\207\344\273\266.md" index fbbe8e7..159c23a 100644 --- "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\346\225\264\347\220\206\346\226\207\344\273\266.md" +++ "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\346\225\264\347\220\206\346\226\207\344\273\266.md" @@ -1,5 +1,7 @@ # 整理文件 +[仓库地址](https://github.com/php-extension-research/study) + 在开发之前,我们先对项目的文件以及文件的内容进行整理,让结构更加的清晰。整理的依据是[开发规范](《PHP扩展开发》-协程-开发规范.md)。 首先,我们修改`php_study.h`文件的内容如下: diff --git "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\346\242\263\347\220\206\344\270\200\344\270\213\346\236\266\346\236\204.md" "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\346\242\263\347\220\206\344\270\200\344\270\213\346\236\266\346\236\204.md" index 0531f02..9ad2b3f 100644 --- "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\346\242\263\347\220\206\344\270\200\344\270\213\346\236\266\346\236\204.md" +++ "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\346\242\263\347\220\206\344\270\200\344\270\213\346\236\266\346\236\204.md" @@ -1,5 +1,7 @@ # 梳理一下架构 +[仓库地址](https://github.com/php-extension-research/study) + 首先,我们需要去实现一个协程库,这个协程库是与`PHP`本身无关的。也就是说,我们实现的这个协程库可以用在其他地方,不一定是给`PHP`用的,功能主要是和上下文切换有关。我们把这个协程库放在目录`src/coroutine`里面。 然后,我们需要去实现`PHP`的协程,这个就和协程的一些行为有关了,包括`yield`、`resume`等等。我们把这些实现放在文件`study_coroutine.cc`、`study_coroutine.h`里面。 diff --git "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\347\220\206\350\247\243PHP\347\224\237\345\221\275\345\221\250\346\234\237\347\232\204\350\277\207\347\250\213.md" "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\347\220\206\350\247\243PHP\347\224\237\345\221\275\345\221\250\346\234\237\347\232\204\350\277\207\347\250\213.md" index 7d94c80..b2a4b8d 100644 --- "a/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\347\220\206\350\247\243PHP\347\224\237\345\221\275\345\221\250\346\234\237\347\232\204\350\277\207\347\250\213.md" +++ "b/docs/\343\200\212PHP\346\211\251\345\261\225\345\274\200\345\217\221\343\200\213-\345\215\217\347\250\213-\347\220\206\350\247\243PHP\347\224\237\345\221\275\345\221\250\346\234\237\347\232\204\350\277\207\347\250\213.md" @@ -1,5 +1,7 @@ # 理解PHP生命周期的过程 +[仓库地址](https://github.com/php-extension-research/study) + 我们在整理`study.cc`文件的时候,看到了一下函数: ```c++ -- GitLab