>  기사  >  백엔드 개발  >  PHP를 업그레이드해야합니까?

PHP를 업그레이드해야합니까?

(*-*)浩
(*-*)浩원래의
2019-10-15 15:13:143054검색

PHP 업그레이드가 최우선이기 때문에 회사에서는 가까운 시일 내에만 업그레이드할 계획이므로 개인적으로 php7의 즐거움을 그 전에는 감상할 수밖에 없습니다

PHP를 업그레이드해야합니까?

PHP7의 장점

예 , 성능 측면에서 실질적인 개선을 통해 기계를 절약하고 비용을 절감할 수 있습니다. (추천 학습: PHP 비디오 튜토리얼)

PHP를 업그레이드해야합니까?

PHP7에서 가져온 새로운 기능

1.

문자열, 정수, 부동소수점, 부울을 사용하여 함수의 매개변수 유형과 함수 반환 값을 선언할 수 있습니다.

declare(strict_types=1);
function add(int $a, int $b): int {
    return $a+$b;
}
echo add(1, 2);
echo add(1.5, 2.6);

php5는 위 코드를 실행할 수 없습니다. php7이 실행되면 먼저 3과 오류가 출력됩니다(add()에 전달된 인수 1은 정수 유형이어야 하며 주어진 부동 소수점이어야 함).

두 가지 유형이 있습니다. 스칼라 유형 선언 모드: 필수(기본값) 및 엄격 모드.

declare(strict_types=1)는 코드를 실행하려면 파일의 첫 번째 줄에 배치되어야 하며 현재 파일이 유효합니다!

2.set_Exception_handler()는 더 이상 수신된 내용이 예외 객체여야 한다고 보장하지 않습니다.

PHP 7에서는 많은 치명적인 오류와 복구 가능한 치명적인 오류가 처리를 위해 예외로 변환됩니다. 이러한 예외는 Throwable 인터페이스를 구현하는 Error 클래스에서 상속됩니다(모든 예외는 이 기본 인터페이스를 구현합니다).

PHP7은 개발자의 처리를 더욱 용이하게 하고 개발자가 프로그램을 더 잘 제어할 수 있게 해줍니다. 기본적으로 오류는 프로그램을 직접 중단시키고 PHP7은 오류를 캡처하고 처리하는 기능을 제공하여 프로그램이 계속 실행될 수 있도록 하기 때문입니다. . 프로그래머에게는 보다 유연한 옵션이 제공됩니다.

3. 새로운 연산자 ""

语法:$c = $a <=> $b

$a > $b인 경우 $c의 값은 1입니다.

$a == $b인 경우 $c의 값은 0입니다.

$a

4. 새 연산자 "??"

변수가 존재하고 값이 NULL이 아닌 경우 자체 값을 반환합니다. 그렇지 않으면 두 번째 피연산자가 반환됩니다.

//原写法
$username = isset($_GET[&#39;user]) ? $_GET[&#39;user] : &#39;nobody&#39;;
//现在
$username = $_GET[&#39;user&#39;] ?? &#39;nobody&#39;;

5.define()은 상수 배열을 정의합니다

define(&#39;ARR&#39;,[&#39;a&#39;,&#39;b&#39;]);
echo ARR[1];// a

6.AST: 추상 구문 트리, 추상 구문 트리

AST는 PHP 컴파일 프로세스에서 미들웨어 역할을 하며 원본 출력을 직접 대체합니다. opcode 메소드는 인터프리터(파서)와 컴파일러(컴파일러)를 분리하여 일부 Hack 코드를 줄이는 동시에 구현을 더 쉽게 이해하고 유지 관리할 수 있도록 합니다.

PHP5: PHP 코드-> 분석-> OPCODE -> PHP 코드 실행 -> AST -> OPCODE -> 익명 함수

$anonymous_func = function(){return &#39;function&#39;;};
echo $anonymous_func(); // 输出function

8. support (echo "u{9999}")

9.Unserialize는 필터링 기능을 제공합니다

불법 데이터의 코드 삽입을 방지하고 보다 안전한 역직렬화된 데이터를 제공합니다.

10. 네임스페이스 참조 최적화

// PHP7以前语法的写法 
use FooLibrary\Bar\Baz\ClassA; 
use FooLibrary\Bar\Baz\ClassB; 
// PHP7新语法写法 
use FooLibrary\Bar\Baz\{ ClassA, ClassB};

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

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