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)
는 코드를 실행하려면 파일의 첫 번째 줄에 배치되어야 합니다.
PHP7은 개발자의 처리를 더욱 용이하게 하고 개발자가 프로그램을 더 잘 제어할 수 있게 해줍니다. 왜냐하면 기본적으로 오류는 프로그램을 직접 중단시키고 PHP7은 오류를 캡처하고 처리하여 프로그램이 계속 실행될 수 있도록 하기 때문입니다. 프로그래머에게는 보다 유연한 옵션이 제공됩니다.
3. 새로운 연산자 "<=>"
구문: $c = $a <=> $b
$a == $b, $c 값은 다음과 같습니다. 0
$a < $b인 경우 $c의 값은 -1
변수가 존재하고 값이 NULL이 아닌 경우 이를 반환합니다. 그렇지 않으면 두 번째 피연산자를 반환합니다.
//原写法 $username = isset($_GET['user]) ? $_GET['user] : 'nobody'; //现在 $username = $_GET['user'] ?? 'nobody'; 5.define() 定义常量数组 define('ARR',['a','b']); echo ARR[1];// a
6. AST: 추상 구문 트리, 추상 구문 트리
AST는 PHP 컴파일 프로세스에서 미들웨어 역할을 하며, 인터프리터에서 직접 opcode를 내보내는 원래 방식을 대체하여 인터프리터(파서)가 컴파일러(컴파일러) 디커플링은 일부 Hack 코드를 줄이는 동시에 구현을 더 쉽게 이해하고 유지하도록 할 수 있습니다. PHP5: PHP 코드-> 파서 구문 분석-> : PHP 코드-> AST -> OPCODE -> 실행7, 익명 함수
$anonymous_func = function(){return 'function';}; echo $anonymous_func(); // 输出function
9 Unserialize는 필터링 기능
을 제공하여 불법 데이터의 코드 삽입을 방지하고 보다 안전한 역직렬화된 데이터를 제공합니다.10. 네임스페이스 참조 최적화
// PHP7以前语法的写法 use FooLibrary\Bar\Baz\ClassA; use FooLibrary\Bar\Baz\ClassB; // PHP7新语法写法 use FooLibrary\Bar\Baz\{ ClassA, ClassB};
위 내용은 php7의 새로운 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!