文档章节

Zephir 文档翻译-内建方法

碳素云信息技术
 碳素云信息技术
发布于 2016/03/04 23:25
字数 601
阅读 299
收藏 3

内建方法 #内建方法 如前面所说的一样,Zephir提升了面向对象设计的体验。静态类型的变量可以向对象一样使用。 请比较如下两个方法:

public function binaryToHex(string! s) -> string
{
    var o = "", n; char ch;

    for ch in range(0, strlen(s)) {
        let n = sprintf("%X", ch);
        if strlen(n) < 2 {
            let o .= "0" . n;
        } else {
            let o .= n;
        }
    }
    return o;
}

public function binaryToHex(string! s) -> string
{
    var o = "", n; char ch;

    for ch in range(0, s->length()) {
        let n = ch->toHex();
        if n->length() < 2 {
            let o .= "0" . n;
        } else {
            let o .= n;
        }
    }
    return o;
}

以上两种引用方法具有同样的效果,但是第二种使用了面向对象的编程方法。使用Zephir的面向对象的引用方法并不会造成性能损失。 ##字符串的操作表 | 面向对象的写法 | 面向过程写法| 说明| | ------------- |-------------:|:-----| | s->length() | strlen(s) | 获取字符串的长度| |s->trim()|trim(s)|去除前后空格或指定字符串| |s->trimleft()|ltrim(s)|| |s->trimright()|rtrim(s)|| |s->index("foo")|strpos(s,"foo")|搜索字符串在目标字符串中的位置| |s->lower()|strtolower(s)|转化为小写| |s->upper()|strtoupper(s)|转化为大写| |s->lowerfirst|lcfirst(s)|首字母小写| |s->upperfirst|ucfirst(s)|首字母大写| |s->format()|sprintf(s,"%s",x)|返回格式化内容| |s->md5()|md5(s)|返回md5值| |s->sha1()|sha1(s)|返回sha1值| ##数组的操作方法 | 面向对象的写法 | 面向过程写法| 说明| | ------------- |-------------:|:-----| |a->join(” ”)|join(” ”, a)|使用分隔符将数组转化为字符串| |a->rev()|array_reverse(a)|返回一个反向的数组| |a->reversed()|array_reverse(a)|返回一个反向的数组| |a->diff()|array_diff(a)|取差集| |a->flip()|array_flip(a)|键值交换| |a->walk()|array_walk(a)|对数组中的每一个元素应用到用户定义函数上| |a->hasKey()|array_key_exists(a)|Checks if the given key or index exists in the array| |a->keys()|array_keys(a)|Return all the keys or a subset of the keys of an array| |a->values()|array_values(a)|Return all the values of an array| |a->split()|array_chunk(a)|Split an array into chunks| |a->combine(b)|array_combine(a, b)|Creates an array by using one array for keys and another for its values| |a->intersect(b)|array_intersect(a, b)|Computes the intersection of arrays| |a->merge(b)|array_merge(a, b)|Merge one or more arrays| |a->pad()|array_pad(a, b)|Pad array to the specified length with a value|

##字符串 | 面向对象的写法 | 面向过程写法| 说明| | ------------- |-------------:|:-----| |ch->toHex()|sprintf(“%X”, ch)||| ##整数 | 面向对象的写法 | 面向过程写法| 说明| | ------------- |-------------:|:-----| |i->abs()|abs(i)|||

© 著作权归作者所有

碳素云信息技术

碳素云信息技术

粉丝 14
博文 31
码字总数 11484
作品 0
绵阳
后端工程师
私信 提问
Zephir 文档翻译-类和对象

原文:Zephir类和对象 类和对象 类 每一个Zephir文件必须实现一个且只能是一个类或者接口。Zephir的类接口跟PHP的类结构非常相似。 类定义 以下类的限定是被允许的: Final:这个类不允许被继...

碳素云信息技术
2016/03/04
38
0
[Zephir官方文档翻译之二] 为什么选择 Zephir?

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

风一样的世界
2014/09/26
435
0
[Zephir官方文档翻译之五] 入门指导

入门指导 Zephir还有这本手册,是为了PHP开发者想开发C扩展并降低复杂度面打算的。 我们假设你有编程语言的基础。我们会在介绍的时候尽可能的向PHP,C,Javascript等语言的特点来陈述。 如果...

风一样的世界
2014/09/26
624
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
167
0
[Zephir官方文档翻译之三] 介绍 Zephir

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

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

没有更多内容

加载失败,请刷新页面

加载更多

Springboot Redis详解

1. 在springboot中使用redis,只需要依赖spring-boot-starter-data-redis,然后在配置文件中配置spring.redis开头的一些配置,根据Redis的架构选择单节点,主从或集群模式,详情如下(2.0.0....

sunranhou
20分钟前
3
0
Android动画不执行

startAnimation 和 setAnimation 有一些区别 1、 imvIcon.startAnimation(anim);2、 imvIcon.setAnimation(anim); anim.startNow();...

安卓工程师王恒
32分钟前
2
0
一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

一、前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 controll...

郑清
今天
8
0
javascript-十六进制随机颜色

<script> // 编写一个函数,获得一个十六进制的随机颜色的字符串(如#20CD4F) // function randomColor(){ // var r = random(0,255).toString(16); // var g = random(0,255).toString(16......

ACKo
今天
3
0
springBoot +mybatis 出现sql 语句在数据库可以查询到,但是赋值到实体类上就没有的情况?

1.不要老是反复查看自己是否写错了,为啥有的能出来有的出不来? 可以查看配置文件中是否配置全: 如果在application.yml 文件中是如下配置: mybatis: mapper-locations: classpath:mapp...

kuchawyz
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部