PHP 업그레이드가 최우선이기 때문에 회사에서는 가까운 시일 내에만 업그레이드할 계획이므로 개인적으로 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은 정수 유형이어야 하며 주어진 부동 소수점이어야 함).
두 가지 유형이 있습니다. 스칼라 유형 선언 모드: 필수(기본값) 및 엄격 모드.
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['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 코드-> 분석-> OPCODE -> PHP 코드 실행 -> AST -> OPCODE -> 익명 함수
$anonymous_func = function(){return 'function';}; 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!