php版本之间的区别

广告:宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取~~~

php版本之间的区别

一、PHP 5.2、5.3、5.4、5.5、5.6 版本区别对比以及新功能详解

PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束PHP5.2:JSON 支持PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,PharPHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改PHP5.5:yield, list() 用于 foreach, 细节修改PHP5.6: 常量增强,可变函数参数,命名空间增强
登录后复制

php5.3

PHP5.3算是一个非常大的更新,新增了大量新特征,同时也做了一些不向下兼容的修改:

1、匿名函数

$func=function($arg){   echo $arg;}$func('hello');
登录后复制

2、新增了魔术方法 __invoke(),__callStatic();

随着匿名函数的加入,PHP 引入了一个新的魔术方法 __invoke().该魔术方法会在将一个对象作为函数调用时被调用:class A{    public function __invoke($str)    {        print "A::__invoke(): {$str}";    }}$a = new A;$a("Hello World");输出毫无疑问是:  A::__invoke(): Hello World__callStatic() 则会在调用一个不存在的静态方法时被调用。
登录后复制

3、命名空间

<?php// 命名空间的分隔符是反斜杠,该声明语句必须在文件第一行。// 命名空间中可以包含任意代码,但只有 **类, 函数, 常量** 受命名空间影响。namespace XXOO\Test;// 该类的完整限定名是 \XXOO\Test\A , 其中第一个反斜杠表示全局命名空间。class A{}// 你还可以在已经文件中定义第二个命名空间,接下来的代码将都位于 \Other\Test2 .namespace Other\Test2;// 实例化来自其他命名空间的对象:$a = new \XXOO\Test\A;class B{}// 你还可以用花括号定义第三个命名空间namespace Other {    // 实例化来自子命名空间的对象:    $b = new Test2\B;    // 导入来自其他命名空间的名称,并重命名,    // 注意只能导入类,不能用于函数和常量。    use \XXOO\Test\A as ClassA}
登录后复制

二、php7的新特性

./bin/php -v  #查看PHP版本./bin/php -m  #查看安装的模块
登录后复制

1、变量类型

function test(int $a,string $b,array $c):int{}
登录后复制

2、错误异常

try/catch
登录后复制

3、zval使用栈内存

节约了内存分配php5zval*val;make_std_zval(val);php7 zval val;
登录后复制

推荐教程:PHP7教程

以上就是php版本之间的区别的详细内容,更多请关注9543建站博客其它相关文章!

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。

作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:javascript版本的区别
下一篇:laravel怎么设置中国时区

发表评论

关闭广告
关闭广告