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

书接上文,苏南大叔在本文中,要开始第一个zephirhelloworld范例。范例的demo呢,其实是从官方文档照抄的,稍稍改了改名字。作为zephir第一个有益尝试,本文是足够的了。如果您还没有搞清楚zephir的编译及使用,那么本篇文章就是你所需要的。在阅读本文之前,请确定你安装好了zephirzephir-parser。具体的安装教程,请参见文末链接。

下面开始正文,和苏南大叔一起开始zephirhelloworld之旅吧。本文范例的测试环境是:mac + php7.2 + zephir0.10.10

初始化zephir工程

在你的目录下面,使用下面的代码可以初始化一个新的项目。注意,一定要填写好项目名称。否则,会报错各种和namespace相关的错误。

zephir init <项目名称>

zephir如何编写第一个helloworld入门范例? - 024

zephir如何编写第一个helloworld入门范例?(图7-1)

正常情况下,就会初始化好项目目录了,在这个截图中,苏南大叔的项目名字叫hello。然后在hello目录,来编写下代码吧。

新建第一个.zep源码

hello/hello目录,新建一个.zep文件吧。内容类似如下,请一定要替换代码中的Utils字样为你自己的实际的命名空间(项目名称/目录名称)字样。

namespace Utils;
class Greeting
{
    public static function say()
    {
        echo "hello world!";
    }
}

从语法上看,这个.zep文件几乎和php没有差异的。所以,这里,php程序员来写这个so扩展是完全没有压力的。

zephir如何编写第一个helloworld入门范例? - 025

zephir如何编写第一个helloworld入门范例?(图7-2)

zephir项目构建

这个构建命令,需要注意执行的位置,要在项目的根目录下面执行,否则会有各种各样的报错的。而且请确认你确实安装好了zephir-parser,否则这里会报错的。

zephir build

正常情况下来说,这里就会得到我们的第一个zephir出品的php扩展了。苏南大叔这边得到了一个hello.so文件。

zephir如何编写第一个helloworld入门范例? - 026

zephir如何编写第一个helloworld入门范例?(图7-3)

zephir如何编写第一个helloworld入门范例? - 030

zephir如何编写第一个helloworld入门范例?(图7-4)

修改php.ini生效

修改php.ini,增加下面类似的语句,然后记得重启php生效。这个很简单好理解。

extension = <yourname>.so;

当然,您编译的也可能是dll文件,所以,请根据实际情况,调整上述代码。

zephir如何编写第一个helloworld入门范例? - 031

zephir如何编写第一个helloworld入门范例?(图7-5)

zephir如何编写第一个helloworld入门范例? - 032

zephir如何编写第一个helloworld入门范例?(图7-6)

在php代码中使用zephir

php中,使用上述的.zep代码的话,也非常简单,你就可以理解为,已经全局加载了相关php代码就可以了。简单好理解,也就是不用主动require相关代码文件了。

Hello\Greetting::say();

测试的效果,非常的不错。大家看截图。

zephir如何编写第一个helloworld入门范例? - 033

zephir如何编写第一个helloworld入门范例?(图7-7)

相关链接

结论

zephir的语法和php的语法几乎是一致的。所以,大家应该不会有什么陌生感。多写写就ok了。当然,GitHub上面,还有个批量转化phpzep的项目,大家可以偷个懒,转化一下你写好的php,看看两者有什么区别。

项目地址是:

newsn.net:这里是【评论】可见内容

暂时,苏南大叔的zephir内容,就这么多了。如果将来再写zephir的内容,也许是很久之后了。如果您关注相关经验文章,可以多刷刷下面的这个链接地址。

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

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

打赏领取小礼物

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/zephir-helloworld.html
上一篇好文:zephir开发环境如何搭建?
下一篇好文:改写class方法逻辑,破解魔方二代加密的某php源码

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~