helloworld用HTML编写,zephir 如何编写第一个 helloworld 入门范例?

9ac5e4e30859fb63569e5fad0d8d2230.png本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规。大家都是程序员,不要闹得不开心。

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

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

初始化zephir工程

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

ad2d121ea684c676498cef5f41ef07b0.pngzephir 如何编写第一个 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扩展是完全没有压力的。

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

对应关系大概是这样的:项目名称为hello,项目文件夹名字就叫做hello,那么代码所在的目录名字就是hello/hello/。第一个zep文件,叫做greeting.zep,所以这个文件里面的namespace叫做Hello,class名字叫做Greeting。

注意文件内容的开头没有任何类似<?php的tag ,光秃秃什么都没有。

zephir项目构建

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

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

0951e23658e3f2a9afef1d627a602e0f.pngzephir 如何编写第一个 helloworld 入门范例?(图7-3)

736adfd4065a5da26676173f8807e036.pngzephir 如何编写第一个 helloworld 入门范例?(图7-4)

修改php.ini生效

修改php.ini,增加下面类似的语句,然后记得重启php生效。这个很简单好理解。如果,您不知道如何查找php.ini的位置,那么可以参见下面这篇文章。extension = .so;

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

1da44754d12264c42bc0b036641dc07e.pngzephir 如何编写第一个 helloworld 入门范例?(图7-5)

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

注意需要重启php才能生效,如果您的测试环境是mac,那么您也许需要的语句是:brew services restart php

在php代码中使用zephir

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

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

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

相关链接

结论

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

项目地址是:

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

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

93ddba5b688a6967c0a88c0220992c34.gif

e6eebe3032abd035b5cf072fe954fec6.png 如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。

9ac5e4e30859fb63569e5fad0d8d2230.png 本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值