内容简介:前面两篇介绍了 Zephir ,从此可以开发自己的扩展了,可毕竟是通过转换而来,虽然很方便,可对于扩展还是一知半解,也无法判断其好坏,所以还是要了解下用原生的方法是怎么开发一个 PHP 扩展的。本文以 php-7.2.15 为例提示如下
前面两篇介绍了 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 // test.php hello_world();
执行脚本
php -f test.php
执行成功。
这样我们就创建了一个非常简单的扩展,虽是很简单的扩展,可还是比 Zephir 复杂很多。
当然他啥用也没有,没有涉汲到内存管理,没有使用指针,做了这一些操作,也不知道是啥意思,带着疑问,我们慢慢深入研究。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
.NET设计规范
克瓦林纳 / 葛子昴 / 人民邮电出版社 / 2006-7 / 49.00元
本书为框架设计师和广大开发人员设计高质量的软件提供了权威的指南。书中介绍了在设计框架时的最佳实践,提供了自顶向下的规范,其中所描述的规范普遍适用于规模不同、可重用程度不同的框架和软件。这些规范历经.net框架三个版本的长期开发,凝聚了数千名开发人员的经验和智慧。微软的各开发组正在使用这些规范开发下一代影响世界的软件产品。. 本书适用于框架设计师以及相关的专业技术人员,也适用于高等院校相关专业......一起来看看 《.NET设计规范》 这本书的介绍吧!