本文中,要说一个php扩展开发的好方案zephirphp扩展就是:把相关逻辑写到so/dll扩展文件里面去,比如鸟哥的yafzephir的本意并不是加密php,而是使用php类似语法写扩展。大家想到php的扩展,第一印象肯定是c语言,高大上的c语言,可不是普通人会写的。

zephir的口号是:会写php,就会写php扩展。有兴趣了嘛?跟着苏南大叔,了解一下zephir开发环境的基本搭建吧。

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - zephir
zephir开发环境如何搭建?换个方式写php扩展(图13-1)

本文的安装环境截图是:mac环境下的安装界面。win下面理论上也可以操作,不过鉴于win下面的编译环境的太多不确定性,目前苏南大叔还不想在win环境下,测试zephir相关的东东。本文测试环境zephir0.10.10,zephir-parser1.1.2

zephir基本介绍

zephir这个工具,把这个高大上的扩展编写的工作,给平民化了,会写php就会写so/dll扩展文件了。所以,苏南大叔认为:还是非常有必要学习zephir这个门槛低,逼格高的技能的。

不过文档还是E文的,E文不好的同学,就看本篇教程吧。

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 000
zephir开发环境如何搭建?换个方式写php扩展(图13-2)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 001
zephir开发环境如何搭建?换个方式写php扩展(图13-3)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 002
zephir开发环境如何搭建?换个方式写php扩展(图13-4)

本篇文档的安装前提是如下软件包:gcc/make/re2c/php/php-json/php-dev/libpcre3-dev。当然,看着头晕也不用害怕,提示缺哪个就安装哪个嘛。苏南大叔这边提示:缺失re2c。其它的貌似都安装好了。

安装zephir-parser

zephir-parser是个php的扩展,所以,画风上和zephir是有些不一样的。主要用在zephir的项目编译过程中。github上有提供各个编译好的so或者dll,但是苏南大叔就是毕竟喜欢从源码编译啊,所以下载的是源码版。

截至到发稿,这个zephir-parser的最新版本是1.1.2。安装的脚本也是异常的简单,输入个sudo密码,也自动执行那一系列的扩展编译安装命令了,超人性化。

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 020
zephir开发环境如何搭建?换个方式写php扩展(图13-8)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 021
zephir开发环境如何搭建?换个方式写php扩展(图13-9)

cd php-zephir-parser
sudo ./install

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 022
zephir开发环境如何搭建?换个方式写php扩展(图13-10)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 023
zephir开发环境如何搭建?换个方式写php扩展(图13-11)

当然,这个安装的期间,提示苏南大叔需要先安装re2c。所以,就使用brew主动安装了re2c。编译完成后,得到的so文件名是:zephir_parser.so。但是这个扩展名,却是Zephir Parser。所以,使用-m|grep zephir查看效果的时候,可能会有点小插曲。

修改php.ini,然后重启php就可以使用了。

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 024
zephir开发环境如何搭建?换个方式写php扩展(图13-12)

苏南大叔:zephir开发环境如何搭建?换个方式写php扩展 - 025
zephir开发环境如何搭建?换个方式写php扩展(图13-13)

结论

在本文中,苏南大叔在mac开发机上搭建了zephir的基本环境。下一篇文章中,苏南大叔就编译一个zephir版本的hello world,敬请期待。

更多zephir的经验文章,请点击下面的这个链接。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   php    zephir

本站的忠实读者小伙伴,正在阅读下面这些文章: