【PHP 扩展开发】Hello World

栏目: PHP · 发布时间: 7年前

内容简介:前面两篇介绍了 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

提示如下

【PHP 扩展开发】Hello World

提示已创建好基础文件,如果想使用这个新扩展,需要噼里啪啦这么些布骤,先记着就好。

修改config.m4

cd twinkle_log
vi config.m4

【PHP 扩展开发】Hello World

这两块注释选一个先打开,具体含义后面文章再说明,我们选下面的

创建自己的方法

vi twinkle_log.c

【PHP 扩展开发】Hello World

声明该方法

【PHP 扩展开发】Hello World

注意大小写敏感

编译安装

/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 扩展开发】Hello World

扩展安装成功

<?php

// test.php

hello_world();

执行脚本

php -f test.php

【PHP 扩展开发】Hello World

执行成功。

这样我们就创建了一个非常简单的扩展,虽是很简单的扩展,可还是比 Zephir 复杂很多。

当然他啥用也没有,没有涉汲到内存管理,没有使用指针,做了这一些操作,也不知道是啥意思,带着疑问,我们慢慢深入研究。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

数码人类学

数码人类学

[英]丹尼尔·米勒、希瑟·A.霍斯特 / 王心远 / 人民出版社 / 2014-10 / 48.00元

人类学有两大任务,一是理解什么是人,二是理解人性是如何透过多元的文化表现出来。数码科技的蓬勃发展给这两者都带来了新的作用力。《数码人类学》向读者展示了人类与数码科技如何辩证地相互定义。最终我们试图得出一个结论,那便是“数码科技对人类到底意味着什么?” 从社交网站到数字化博物馆;从数字时代政治学到电子商务,浸润式的数码科技,给普通人的生活带来了根本性的改变。仅仅用数据来说明与理解问题显然过于太......一起来看看 《数码人类学》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具