简介ZephirZephir是一种中间语言,用接近PHP的语法编写代码,然后转换编译成PHP扩展,旨在简化PHP扩展的创建和维护。使用编译来提高性能和资源消耗,而无需关注内存管理等复杂操作。安装使用Zephir开发PHP扩展,需要满足以下要求(以centos7+php7.2为例)编译环境官方示例为ubuntu,需要安装以下扩展sudoapt-getinstallgitgccmakere2cphpphp-jsonphp-devlibpcre3-devbuild-essential我们使用centos,yum安装yuminstall-ygitgccmakere2cautoconfautomakelibtoolpcrepcre-develyumgroupinstall-y"开发工具"有些库可能没有有一些源码,可以替换源码或者下载源码安装phpExtendedZephirparser>=1.1.0wgethttps://github.com/phalcon/php-zephir-parser/archive/v1.2.0.tar.gzmvv1.2.0.tar.gzphp-zephir-parser-v1.2.0。tar.gztar-xvzfphp-zephir-parser-v1.2.0.tar.gzcdphp-zephir-parser-1.2.0//usr/local/php7/bin/phpize./configure--with-php-config=/usr/local/php7/bin/php-configmake&&makeinstallgmp(此扩展包含在PHP源代码中,默认不安装)。Fileextension=gmp.soextension=zephir_parser.so安装ZephirZephir目前有两个主要版本在维护0.10.X和0.11.X。两个版本的区别比较大,我们选择0.11.X,下载最新版本,使用phar包cd/usr/local/binwgethttps://github.com/phalcon/zephir/releases/download/0.11。10/zephir.pharchmod755zephir.pharln-s/usr/local/bin/zephirzephir.phar检查是否安装成功。zephir帮助已安装。安装显示如下图所示。创建扩展并初始化应用程序。zephirinit首先生成如下两个目录和一个文件。在Zephir中,每个文件都必须包含一个类(并且只有一个类)。每个类都必须有一个命名空间,目录结构必须与所使用的类和命名空间的名称相匹配。使用phpstorm作为IDE,安装Zephir插件。first\first\hello.zepnamespaceFirst;classHello{publicstaticfunctionworld(){echo"Helloworld!";}publicstaticfunctionzephir(){echo"HelloZephir!";}}第一次编译zephirbuild,运气不好会失败。有关详细日志,请参阅compile-errors.log文件的内容。如果构建成功,会自动生成first.so文件到扩展目录下。您需要编辑php.ini并添加一个扩展来测试它。
