文档章节

[Zephir官方文档翻译之一] 欢迎来到Zephir!

风一样的世界
 风一样的世界
发布于 2014/09/26 12:33
字数 212
阅读 143
收藏 1

最新更新请留意我的github: https://github.com/pfdtk/zephir-docs/tree/master/zh_cn


欢迎来到Zephir!

Zephir 是一个开源的,可以用高级语言安全快速地编写 PHP 的 C 扩展。

Zephir特点

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

牛刀小试

下面的类中的函数alpha过滤一段字符串,并返回字母字符:

namespace MyLibrary;/** * Filter */class Filter{
    /**     * 过滤一段字符串,并返回字母字符     *     * @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"); // 输出 hello


© 著作权归作者所有

风一样的世界

风一样的世界

粉丝 16
博文 47
码字总数 14443
作品 1
广州
高级程序员
私信 提问
[Zephir官方文档翻译之二] 为什么选择 Zephir?

为什么选择 Zephir? 目前的PHP应用必须使用得稳定性、性能、和功能性保持平衡。 每一个PHP应用是建立在大量的通用组件上的,而这些组件又基于大量的其它应用。 这些通用的组件可能是一个类/...

风一样的世界
2014/09/26
435
0
zephir-(1)开篇介绍

先在这里感谢各位zephir开源技术提供者 笔者在学习phalcon的过程中了解到,phalcon2.x版本通过了zephir重写,第一感觉是zephir这么牛逼?笔者赶紧尝试了一下,果不其然非常简单的就能写出一个C扩...

喵了_个咪
2016/02/26
692
1
[Zephir开发实践]用Zephir编写PHP扩展实践

场景描述 首先,还是强烈推荐一下Phalcon这个框架。 由于对这个框架很感兴趣,所以看了其官方文档,并在先前用PHP根据其思想写了两个Phalcon核心类,见链接: #年前福利#Phalcon框架部分核心...

暗夜在火星
2014/06/26
440
0
[Zephir官方文档翻译之四] 安装Zephir

安装Zephir 为了安装Zephir,请根据下面的步骤来做: 预备知识 使用Zephir来编译PHP扩展,下面的一些软件是必须的: gcc >= 4.x/clang >= 3.x re2c 0.13 or later gnu make 3.81 or later au...

风一样的世界
2014/09/26
168
0
[Zephir官方文档翻译之三] 介绍 Zephir

介绍 Zephir Zephir是一种可以让PHP开发者尝试编写和编译可以被PHP执行代码的一种语言。它是动态/静态类型,它的一些特性对于PHP 开发者来说是非常的相似的。 Zephir的名字是取自Zend Engine...

风一样的世界
2014/09/26
295
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
11
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
9
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
81
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部