如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

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

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

zephir开发环境如何搭建? - zephir
zephir开发环境如何搭建?(图13-1)

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

zephir基本介绍

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

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

zephir开发环境如何搭建? - 000
zephir开发环境如何搭建?(图13-2)

zephir开发环境如何搭建? - 001
zephir开发环境如何搭建?(图13-3)

zephir开发环境如何搭建? - 002
zephir开发环境如何搭建?(图13-4)

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

安装zephir

截至到发稿,zephir的最新版本是:0.10.10zephir的安装极其的简单,下载好代码,执行一下安装命令就可以了。没有任何提示,就安装好了。当然,提示让苏南大叔输入sudo的密码了。

zephir开发环境如何搭建? - 003
zephir开发环境如何搭建?(图13-5)

./install -c

安装好之后,大家可以用下面的这条命令。看看效果。

which zephir
zephir help

zephir开发环境如何搭建? - 004
zephir开发环境如何搭建?(图13-6)

这个步骤就是安装了一个命令行,后序还需要安装一个zephir-parser的扩展,才能开始做扩展开发的。当然,官方文档似乎没有提及这件事。试图编译的时候,就会收到相关错误提示了。如下图所示:

zephir开发环境如何搭建? - need_extension
zephir开发环境如何搭建?(图13-7)

安装zephir-parser

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

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

zephir开发环境如何搭建? - 020
zephir开发环境如何搭建?(图13-8)

zephir开发环境如何搭建? - 021
zephir开发环境如何搭建?(图13-9)

cd php-zephir-parser
sudo ./install

zephir开发环境如何搭建? - 022
zephir开发环境如何搭建?(图13-10)

zephir开发环境如何搭建? - 023
zephir开发环境如何搭建?(图13-11)

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

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

zephir开发环境如何搭建? - 024
zephir开发环境如何搭建?(图13-12)

zephir开发环境如何搭建? - 025
zephir开发环境如何搭建?(图13-13)

结论

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

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

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

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

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

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!