本章Zephir0.9.4文档官网:https://docs.zephir-lang.com/en/latest/welcome.html。
本系列内容是基于Zephir0.9.4的官方文档进行的翻译整理,如果不对的地方,欢迎指正。
欢迎来到Zephir
欢迎来到Zephir,一个开源的高级领域专用语言(DSL),通过类型和内存安全使得PHP扩展的创建和维护更加得心应手。
Zeohir之特点
Zephir的主要特点有:
Type system | dynamic/static |
Memory safety | pointers or direct memory management aren’t allowed |
Compilation model | ahead of time |
Memory model | task-local garbage collection |
Zephir之初体验
通过变量筛选的方法定义一个类,其返回值为字符,具体代码如下:
namespace MyLibrary; /** * Filter */ class Filter { /** * Filters a string returning its alpha characters * * @param string str */ public function alpha(string str) { char ch; string filtered = ""; for ch in str { if (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') { let filtered .= ch; } } return filtered; } }
用PHP调用这个类的代码如下:
<?php $filter = new MyLibrary\Filter(); echo $filter->alpha("01he#l.lo?/1"); // prints hello