【PHP 扩展开发】Hello World

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

内容简介:前面两篇介绍了 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 复杂很多。

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


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

查看所有标签

猜你喜欢:

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

Haskell函数式编程基础

Haskell函数式编程基础

Simon Thompson / 科学出版社 / 2013-7-1 / 129.00

《Haskell函数式编程基础(第3版)》是一本非常优秀的Haskell函数式程序设计的入门书,各章依次介绍函数式程序设计的基本概念、编译器和解释器、函数的各种定义方式、简单程序的构造、多态和高阶函数、诸如数组和列表的结构化数据、列表上的原始递归和推理、输入输出的控制处理、类型分类与检测方法、代数数据类型、抽象数据类型、惰性计算等内容。书中包含大量的实例和习题,注重程序测试、程序证明和问题求解,易......一起来看看 《Haskell函数式编程基础》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码