博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php zend engine,PHP 5/Zend Engine 2.0的改进(二) (转)
阅读量:5732 次
发布时间:2019-06-18

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

PHP 5/Zend Engine 2.0的改进(二) (转)[@more@]

/Develop/read_article.?id=21008">[接上页]

5/ Engine 2.0的改进:namespace prefix = o ns = "urn:schemas--com::office" />

允许常量中包含,但在编译时常量中的表达式将被计算,

因此常量不能在运行中改变它的值。

class Bar {

const a = 1<<0;

const b = 1<<1;

const c = a | b;

}

?>

以前代码中的自定义类或方法中虽然未定义"const”关键字,

但无需修改就可以运行。

异常(Exceptions)

中没异常处理,PHP5引入了与其它与语言相似的异常处理模型。

以前代码中的用户自定义类或方法中虽未定义'catch', 'throw' 和 'try'关键字,但无需修改

就可以运行。

返回值

在PHP4中,函数不可能返回对象的值并对返回的对象进行方法,随着Zend Engine 2

(ZEND引擎2)的出现,以下调用成为可能:

静态类中的静态成员变量可初始化

例如:

静态方法(Static Methods)

PHP5引入了关键字'static'来定义一个静态方法,这样可以从对象外进行调用。

例如:

虚拟变量$this在被定义为静态(static)的方法中无效。

Instanceof

PHP5引入了 “instanceof“关键字来确定一个对象是否是某一个对象的实例,或某一个对象的派生,或使用了某一个接口。

示例:

静态函数变量(Static function variables)

所有的静态变量现在在编译时进行处理,这允许开发者通过引用来指定静态变量。这个变化提高了但意味着不可能对静态变量进行间接引用。

函数中通过引用方式传递的参数允许有默认值

例如:

__autoload()

在初始化一个未定义的类时,__autoload()拦截函数(interceptor function)将被自动调

用。类名将作为__autoload()拦截函数唯一参数传递给它。

例如:

方法和属性调用的重载

所有方法调用和属性访问都可以通用 __call(), __get() 和 __set()方法来重载。

例: __get() 和 __set()

示例: __call()

转载地址:http://jaowx.baihongyu.com/

你可能感兴趣的文章
「小程序JAVA实战」微信小程序工程结构了解(五)
查看>>
使用列表
查看>>
Edge browser hosts file
查看>>
原生CSS设置网站主题色—CSS变量赋值
查看>>
概率dp - UVA 11021 Tribles
查看>>
webpack 4.0 中 clean-webpack-plugin 的使用
查看>>
数据库神器:Navicat Premium
查看>>
WPF
查看>>
Best website for Photogrammetry
查看>>
中文词频统计
查看>>
POJ 2236 Wireless Network (并查集)
查看>>
python分类
查看>>
linux 中常见的压缩和解压缩的命令
查看>>
GitBlit (1)-- 在linux 安装 GitBlit 并运行
查看>>
Windows与Linux之间的文件自动同步
查看>>
topcoder srm 714 div1
查看>>
20160215
查看>>
mxnet导入图像数据
查看>>
程序是如何执行的(一)a=a+1
查看>>
go : 结构
查看>>