> 백엔드 개발 > PHP7 > 본문

php7의 새로운 기능: php7이 가져온 새로운 기능

L
풀어 주다: 2023-02-17 15:30:02
앞으로
2651명이 탐색했습니다.

php7의 새로운 기능: php7이 가져온 새로운 기능

PHP7에서 가져온 새로운 기능

1. 유형 선언.

string, int, 부동 소수점, bool을 사용하여 함수의 매개변수 유형과 함수 반환 값을 선언할 수 있습니다.

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의 값은 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 코드-> 분석-> OPCODE -> 실행
PHP7: 구문 분석 -> AST -> OPCODE -> 실행

https://wiki.php.net/rfc/abstract_syntax_tree

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 튜토리얼

"

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

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