博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.zephir基础语法
阅读量:6992 次
发布时间:2019-06-27

本文共 1357 字,大约阅读时间需要 4 分钟。

  hot3.png

首先,zephir的代码必须放在一个类中,一个文件必须并且只能包含一个类,类必须位于命名空间下。

文件结构

mylibrary/        router/                exception.zep # MyLibrary\Router\Exception        router.zep # MyLibrary\Router

其中router.zep和exception.zep就是代码文件(你可以想象,把.zep换成.php):

先来看Router类,打开router.zep,显示如下:

namespace MyLibrary;class Router{}

而router/exception.zep的代码如下:

namespace MyLibrary\Router;class Router extends Exception{}

到目前为止,语法跟php完全一样,很容易掌握吧。

跟php/c/c++/java一样,zephir也是用 ";"作为语句的终止符,你可以像这样书写:

myObject->myMethod(1, 2, 3); echo "world";

注:可以看到zephir里的变量是没有"$"开头的,在php中应该是$myObject->myMethod(),这是一个区别。

注释也是用//和/**/,这里不再废话。

声明变量

和php不一样,在zephir中使用变量前必须先声明,声明变量是为了让编译器进行优化和验证,并且变量名必须唯一,不能使用保留关键词,先看一个例子:

//在一条指令中声明多个相同类型的变量var a, b c;//你也可以每行声明一个var a;var b;var c;

你可以在声明变量时赋初始值,就像这样:
var a = "hello", b = 0, c = 1.0;int d = 50; bool some = true;

注意,变量名是大小写敏感的,下面这两个变量是不同的:
var somevalue, someValue;

变量只在声明它的方法内有效,这点和php一致,不再废话。
namespace Test;class MyClass{    public function someMethod1()    {        int a = 1, b = 2;        return a + b;    }    public function someMethod2()    {        int a = 3, b = 4;        return a + b;    }}

超全局变量

zephir不支持php那样的全局变量,但是可以像php那样获取超全局变量,如$_GET $_POST $_SERVER等,语法上如下:

//从$_POST中获取price参数let price = _POST["price"];//从 $_SERVER 中获取let requestMethod = _SERVER["REQUEST_METHOD"];

如你所见,变量赋值用的是let语句,当然你必须提前声明变量。

转载于:https://my.oschina.net/cxz001/blog/220041

你可能感兴趣的文章
AUSU F6A系列笔记本装xp遇到的问题
查看>>
linux的磁盘配额
查看>>
Lync 2010与Lync 2013共存及迁移部署参考v1.0
查看>>
Android应用程序组件Content Provider的共享数据更新通知机制分析(2)
查看>>
企业服务经验总结--服务器安全细则1
查看>>
Lync与Exchange 2013 UM集成:Exchange 配置
查看>>
玩转“网上邻居”之WINS解析(一)
查看>>
Lync 小技巧-20-检查-Active Directory Replication Status
查看>>
IT168采访记录
查看>>
微软私有云虚拟化产品
查看>>
Linux下用crontab定时执行PHP程序
查看>>
开启mysql审计后引发的问题
查看>>
终于学会后空翻!历经多次NG,波士顿动力机器人再get新技能
查看>>
检查Linux系统日志error和mysql错误日志的脚本
查看>>
Android -- Service的开启关闭与生命周期
查看>>
结构化项目管理:十步法 [摘自:成功的软件项目管理]
查看>>
cuda并行编程之求解ConjugateGradient(共轭梯度迭代)丢失dll解决方式
查看>>
Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)
查看>>
Spreadsheet 对象
查看>>
NSubstitute完全手册(十八)检查调用顺序
查看>>