php版本之间的区别-PHP7

资源魔 40 0

1、PHP 5.二、5.三、5.四、5.五、5.6 版本区分比照和新性能详解

PHP5.2 之前:autoload, PDO 以及 MySQLi, 类型束缚
PHP5.2:JSON 支持
PHP5.3:弃用的性能,匿名函数,新增魔术办法,定名空间,前期动态绑定,Heredoc 以及 Nowdoc, const, 三元运算符,Phar
PHP5.4:Short Open Tag, 数组简写方式,Traits, 内置 Web 效劳器,细节修正
PHP5.5:yield, list() 用于 foreach, 细节修正
PHP5.6: 常量加强,可变函数参数,定名空间加强

php5.3

PHP5.3算是一个十分年夜的更新,新增了年夜量新特色,同时也做了一些没有向下兼容的修正:

一、匿名函数

$func=function($arg){   echo $arg;
}$func('hello');

二、新增了魔术办法 __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() 则会正在挪用一个没有存正在的动态办法时被挪用。

三、定名空间

<?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
}

2、php7的新特点

./bin/php -v  #查看PHP版本
./bin/php -m  #查看装置的模块

一、变量类型

function test(int $a,string $b,array $c):int{


}

二、谬误异样

try/catch

三、zval应用栈内存

节约了内存调配
php5
zval*val;make_std_zval(val);

php7 zval val;

保举教程:PHP7教程

以上就是php版本之间的区分的具体内容,更多请存眷资源魔其它相干文章!

标签: php 区别 版本 php7开发教程 php7开发资料 php7开发自学

抱歉,评论功能暂时关闭!