> 백엔드 개발 > PHP 문제 > 어떤 버전의 PHP를 사용해야 합니까?

어떤 버전의 PHP를 사용해야 합니까?

王林
풀어 주다: 2023-02-24 20:20:01
원래의
4687명이 탐색했습니다.

어떤 버전의 PHP를 사용해야 합니까?

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, 三元运算符,Phar

PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改

PHP5.5:yield, list() 用于 foreach, 细节修改

PHP5.6: 常量增强,可变函数参数,命名空间增强

1.php5.2以前

1.1 autoload的使用

当在代码中使用一个未定义的类的时候,该函数就会被调用,现在已经不再使用了,因为一个项目中只能有一个__autoload();现在使用spl_autoload_register();

1.2 PDO和MiSQLi的使用

1.3 类型约束。

通过类型约束可以限制参数的类型,不过这个机制不完善。

2. php5.2 

2.1 JSON的支持

增加了json_encode(),json_decode()等函数

3.php5.3

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

3.1 弃用的功能

3.2 匿名函数

1

2

3

4

$func=function($arg){

   echo $arg;

}

$func('hello');

로그인 후 복사

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

随着匿名函数的加入,PHP 引入了一个新的魔术方法 __invoke().

该魔术方法会在将一个对象作为函数调用时被调用:

 

class A

{

    public function __invoke($str)

    {

        print "A::__invoke(): {$str}";

    }

}

 

$a = new A;

$a("Hello World");

输出毫无疑问是:  A::__invoke(): Hello World

 

__callStatic() 则会在调用一个不存在的静态方法时被调用。

로그인 후 복사

3.3命名空间

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

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

}

로그인 후 복사

3.4后期静态绑定

1

2

3

4

5

6

7

8

9

10

#self 的语义本来就是“当前类”

class A

{

    static public function callFuncXXOO()

    {

        print static::funcXXOO();

    }

 

    // ...

}

로그인 후 복사

二、PHP7新特性

1

2

./bin/php -v  #查看PHP版本

./bin/php -m  #查看安装的模块

로그인 후 복사

1、变量类型

1

2

3

4

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

 

 

}

로그인 후 복사

2、错误异常

1

try/catch

로그인 후 복사

3、zval使用栈内存

1

2

3

4

5

节约了内存分配

php5

zval*val;make_std_zval(val);

 

php7 zval val;

로그인 후 복사

推荐教程:PHP视频教程

위 내용은 어떤 버전의 PHP를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿