摘要:前面两篇介绍了,从此可以开发自己的扩展了,可毕竟是通过转换而来,虽然很方便,可对于扩展还是一知半解,也无法判断其好坏,所以还是要了解下用原生的方法是怎么开发一个扩展的。这样我们就创建了一个非常简单的扩展,虽是很简单的扩展,可还是比复杂很多。
前面两篇介绍了 Zephir ,从此可以开发自己的扩展了,可毕竟是通过转换而来,虽然很方便,可对于扩展还是一知半解,也无法判断其好坏,所以还是要了解下用原生的方法是怎么开发一个 PHP 扩展的。
本文以 php-7.2.15 为例
创建扩展骨架
# 源码路径 cd /usr/local/src/php-7.2.15/ext ./ext_skel --extname=twinkle_log
提示如下
提示已创建好基础文件,如果想使用这个新扩展,需要噼里啪啦这么些布骤,先记着就好。
修改config.m4
cd twinkle_log vi config.m4
这两块注释选一个先打开,具体含义后面文章再说明,我们选下面的
创建自己的方法
vi twinkle_log.c
声明该方法
注意大小写敏感
编译安装
/usr/local/php72/bin/phpize ./configure --with-php-config=/usr/local/php72/bin/php-config make make install
填加扩展
vi /usr/local/php72/lib/php.ini # 填加扩展 extension=twinkle_log
测试一下
扩展安装成功
执行脚本
php -f test.php执行成功。
这样我们就创建了一个非常简单的扩展,虽是很简单的扩展,可还是比 Zephir 复杂很多。
当然他啥用也没有,没有涉汲到内存管理,没有使用指针,做了这一些操作,也不知道是啥意思,带着疑问,我们慢慢深入研究。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/30951.html
摘要:下载源代码要开发扩展,需要先下载的源代码,一方面是因为我们的扩展一般会用到自身定义的函数和宏,另一方面我们可以利用官方提供的工具减少工作量。重点关注,,即可,最简单的场景下这三个文件就是一个扩展的全部组成部分了。 下载PHP源代码 要开发PHP扩展,需要先下载PHP的源代码,一方面是因为我们的扩展一般会用到PHP自身定义的函数和宏,另一方面我们可以利用官方提供的工具减少工作量。我下载了...
摘要:四使用语言开发是我重点推荐的扩展开发框架,简明易懂,功能强大,开发效率高,代码易维护,执行速度快。优点三支持,的扩展开发有两套扩展开发框架,分别支持,,虽然框架代码有两个,但是接口却是一样的。 PHP扩展是高级PHP程序员必须了解的技能之一,对于一个初入门的PHP扩展开发者,怎么才能开发一个成熟的扩展,进入PHP开发的高级领域呢?本系列开发教程将手把手带您从入门进入高级阶段。本教程系列...
摘要:二下载第一个扩展第一个扩展的源码已经在上准备好了,直接用命令克隆,或者手工下载都可以。第四步确认扩展已经安装成功使用命令可以查看目前已经安装的所有扩展。 PHP扩展是高级PHP程序员必须了解的技能之一,对于一个初入门的PHP扩展开发者,怎么才能开发一个成熟的扩展,进入PHP开发的高级领域呢?本系列开发教程将手把手带您从入门进入高级阶段。本教程系列在linux下面开发(推荐使用cento...
摘要:起步最近在看扩展开发中文教程的版。扩展是什么用过的人一定也用过扩展。本身带有个扩展,扩展是对语言功能的一个延伸,的核心由两部分组成最底层的引擎和内核。额外不使用工具写扩展一个扩展为避免与写过的冲突,采用作为名字,至少包含个文件。 起步 最近在看 《PHP扩展开发中文教程》 的pdf版。PHP的解释器是用C语言写的,所以PHP扩展自然也是用C 语言了。 扩展是什么 用过php的人一定也用...
摘要:概述是一个开源的用于简化扩展的创建和维护的语言。它使得不擅长的开发人员也能写出扩展。是缩写,读音为。然后我们在里调用方法正常的话会输出。至此我们也完成了我们的第一个扩展。 概述 Zephir是一个开源的用于简化PHP扩展的创建和维护的语言。它使得不擅长C/C++的PHP开发人员也能写出PHP扩展。Zephir是Zend Engine/PHP/Intermediate缩写,读音为zep...
阅读 2061·2021-10-12 10:11
阅读 825·2021-10-09 09:41
阅读 3712·2021-09-09 11:37
阅读 1914·2021-09-08 10:41
阅读 2616·2019-08-30 12:58
阅读 2349·2019-08-30 10:58
阅读 1246·2019-08-26 13:40
阅读 4028·2019-08-26 13:36