>백엔드 개발 >PHP 문제 >php5.2와 5.3의 차이점은 무엇입니까

php5.2와 5.3의 차이점은 무엇입니까

王林
王林원래의
2021-09-27 14:24:123071검색

php5.2와 5.3의 차이점은 다음과 같습니다. 1. php5.3에서는 Register Globals 및 Magic Quotes와 같은 기능을 포기합니다. 2. 새로운 매직 메소드 __invoke() 및 __callStatic()을 추가합니다. 3. const를 사용하여 상수 정의를 지원합니다.

php5.2와 5.3의 차이점은 무엇입니까

이 기사의 운영 환경: windows10 시스템, php 5.2&&php 5.3, thinkpad t480 컴퓨터.

많은 친구들이 PHP 5.2와 PHP 5.3의 차이점을 모를 수도 있습니다. 아래에서는 두 버전의 차이점과 구체적인 차이점이 무엇인지 자세히 소개하겠습니다.

먼저 PHP 5.2 버전을 살펴보겠습니다.

php5.2(2006-2011)

JSON的支持
       增加了json_encode(),json_decode()等函数

그럼 php 5.3 버전을 살펴보겠습니다.

php5.3 (2009-2012)

PHP5.3은 많은 새로운 기능을 추가하고 이전 버전과 호환되지 않는 몇 가지 수정 사항을 적용한 매우 큰 업데이트입니다.

1. 더 이상 사용되지 않는 기능

다음 기능은 더 이상 사용되지 않습니다. 구성 파일에서 활성화되면 PHP는 런타임 시 경고를 표시합니다.

Register Globals
Magic Quotes
Safe Mode

2. 익명 함수

f u n c = f u n c t i o n ( func=function(func=function(arg){
echo $arg;
}
$func(‘hello’);

3. 추가된 매직 메소드 __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() 则会在调用一个不存在的静态方法时被调用。

4. 완벽하지는 않지만 클래스만 지원합니다

5. Nowdoc

PHP 코드에 큰 문자열을 포함하는 데 사용되는 Heredoc과 Nowdoc에 일부 개선이 이루어졌습니다.

7. const를 사용하여 상수를 정의하세요

PHP5.3부터 전역 네임스페이스와 클래스에서 const를 사용하여 상수를 정의하는 것이 지원됩니다.

旧式风格:
define("XOOO", "Value");
新式风格:

const XXOO = "Value";
const 形式仅适用于常量,不适用于运行时才能求值的表达式:
// 正确
const XXOO = 1234;
// 错误
const XXOO = 2 * 617;
(在5.6版后可以了)

8 삼항 연산자의 축약형

이전 스타일:

echo $a ? $a : “No Value”;

은 다음과 같이 축약될 수 있습니다.

echo $a ?: “No Value”;

즉, 삼항 연산자의 두 번째 부분이 생략되면 첫 번째 부분이 기본적으로 대체됩니다. .

9.Phar

Phar는 원래 Pear의 라이브러리였으나 나중에 PHP5.3에서 C 확장으로 다시 작성되어 PHP에 내장되었습니다.

Phar는 여러 .php 스크립트(다른 파일도 패키지할 수 있음)를 .phar 압축 파일(일반적으로 ZIP 형식)로 패키징하는 데 사용됩니다.

목적은 Java의 .jar을 모방하는 것입니다. 아니요, 목적은 PHP 애플리케이션 게시를 더 편리하게 만드는 것입니다. 또한 디지털 서명 확인과 같은 기능도 제공합니다.

.phar 파일은 .php 파일과 마찬가지로 PHP 엔진에 의해 해석되고 실행될 수 있습니다. 동시에 다음과 같은 코드를 작성하여 .phar에 코드를 포함(요구)할 수도 있습니다.

require(“xxoo.phar”);
require(“phar://xxoo.phar/xo/ox.php”);

권장 학습:

PHP 훈련

위 내용은 php5.2와 5.3의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.