> 백엔드 개발 > PHP 튜토리얼 > php7의 새로운 기능은 무엇입니까?

php7의 새로운 기능은 무엇입니까?

青灯夜游
풀어 주다: 2023-04-06 17:36:01
원래의
5493명이 탐색했습니다.

php7의 새로운 기능은 무엇입니까?

php7의 새로운 기능은 무엇입니까? PHP7에서는 기본 엔진의 코드 대부분이 수정되고 다양한 방법을 통해 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은 정수 유형이어야 합니다. 주어진 부동 소수점);Argument 1 passed to add() must be of the type integer, float given);

标量类型声明 有两种模式: 强制 (默认) 和 严格模式。

declare(strict_types=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 < $b인 경우 $c의 값은 -1

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 코드-> 파서 구문 분석-> : PHP 코드-> AST -> OPCODE -> 실행

7, 익명 함수

$anonymous_func = function(){return &#39;function&#39;;};
echo $anonymous_func(); // 输出function
로그인 후 복사
8, 유니코드 문자 형식 지원(echo "u{9999}")

9 Unserialize는 필터링 기능

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

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

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

// PHP7新语法写法 
use FooLibrary\Bar\Baz\{ ClassA, ClassB};
로그인 후 복사

위 내용은 php7의 새로운 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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