산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

PHP 7 릴리스:주요 기능 및 알아야 할 사항

개발자라면 새로운 PHP 7의 완전한 기능 베타 버전이 출시되었다는 사실을 알고 계실 것입니다. 7.0.0 버전에는 많은 멋진 기능이 포함되어 있습니다. 하지만 프로덕션 환경에서는 사용하지 않는 것을 권장합니다. , 2015년 11월에 안정화 버전이 출시될 때까지.

최신 베타 버전으로 자유롭게 테스트하고 플레이할 수 있으며, 테스트 중에 버그를 발견하면 신고해 주세요. PHP 7.0.0에서 볼 수 있는 모든 변경 사항/업그레이드를 나열하고 있습니다.

16. 이것은 PHP 7입니다(6이 아님)

현재 안정 버전은 PHP 5.6입니다. 그래서 많은 개발자들이 6.0 버전을 기대하고 있습니다. 그들이 모르는 것은 PHP 6가 과거에 실험적 프로세스로 이미 존재했지만 생산 단계에는 도달하지 못했다는 것입니다. 핵심 개발팀은 다음 주요 릴리스에 PHP 6 이름을 전달하기로 결정했습니다.

15. 64비트 Windows 지원

현재 PHP 버전은 64비트 정수 또는 대용량 파일 지원을 제공하지 않습니다. PHP 7이 일관된 64비트 지원을 도입함에 따라 앞으로 상황은 바뀔 것입니다. 즉, 기본 64비트 정수와 대용량 파일이 모두 지원된다는 의미입니다.

14. 더 이상 사용되지 않는 기능 및 확장 기능 제거

PHP 7의 주요 목표 중 하나는 개선을 위해 메모리를 확보하는 것이었으므로 지원되지 않는 오래된 서버 API, 확장 프로그램 및 더 이상 사용되지 않는 기능을 제거하는 것이 필요해졌습니다.
제거된 모든 항목은 오랫동안 사용되지 않았습니다. 그러나 이전 버전에서 실행 중인 레거시 애플리케이션이 있는 경우 PHP 7로 업그레이드하면 코드가 손상될 수 있습니다.

읽기:개발자를 위한 30가지 버그 추적 도구

13. 그룹 사용 선언

이 RFC는 선언 그룹 개념을 도입하여 현재 PHP 네임스페이스 구현을 개선하기 위해 만들어졌습니다. 이 기능은 일반적으로 동일한 네임스페이스에서 많은 클래스를 가져오는 코더에게 유용합니다. 새로운 구문은 장황한 내용을 없애고 코드를 더욱 깔끔하게 만들어 주며 입력 시간을 많이 줄여줍니다.

12. 익명 수업

익명 클래스의 개념은 이미 Java 및 C#과 같은 다른 객체 지향 프로그래밍 언어에서 사용되고 있습니다. 코딩 속도는 물론 실행 시간도 단축할 수 있는 이름 없는 클래스에 불과합니다. 클래스가 실행 중에 한 번만 사용되거나 클래스를 문서화할 필요가 없는 경우에 사용해야 합니다.

11. 균일 변수 구문

균일한 변수 구문은 표현식 평가 방식의 많은 불일치를 해결합니다. 예를 들어 ($object->closureProperties)()를 사용하여 속성에 할당된 클로저를 호출하는 기능 , 정적 호출을 연결할 수도 있습니다.

이전 버전의 PHP에서는 $obj->$properties['name']  이름이 속성 배열의 이름 키에 있는 속성에 액세스합니다. 이제 이름이 $properties에 있는 속성의 이름 키에 액세스합니다.

10. 유니코드 코드 포인트 이스케이프 구문

새로운 이스케이프 문자(\u)를 사용하면 문자열 내에서 유니코드 문자 코드 포인트(16진수)를 명확하게 지정할 수 있습니다. 예를 들어, 이모티콘을 입력할 수 없는 경우 대신 이스케이프 시퀀스를 사용할 수 있습니다.

9. 예외 처리의 공유 상위 클래스

PHP 코더의 경우 치명적이고 포착 가능한 치명적인 오류를 처리하는 것은 결코 쉬운 작업이 아닙니다. 새로운 엔진 예외를 사용하면 이러한 종류의 오류를 예외로 대체할 수 있습니다.
코더가 기존 예외와 엔진 예외를 모두 포착할 수 있도록 PHP 7에서는 \BaseException이라는 이름으로 새로운 공유 상위 클래스를 도입합니다. .

8. 통화 시 바인딩 종료

클로저::bind()  및 Closure->bindTo()   $this의 바인딩을 변경할 수 있습니다.  호출 범위를 개별적으로 또는 함께 사용하여 중복 클로저를 생성합니다.   PHP 7에는 호출 시 $this를 모두 바인딩하여 쉽게 이 작업을 수행할 수 있는 방법이 있습니다.   을 추가하여 동일한 객체에 대한 범위를 호출합니다. 클로저->call().  이 메소드는 객체를 첫 번째 인수로 취하고 그 뒤에 클로저에 전달할 인수를 사용합니다.

7. Null 병합 연산자

병합 연산자는 "??"로 표시됩니다. 첫 번째 피연산자가 존재하고 NULL이 아니면 그 결과를 반환하고, 그렇지 않으면 두 번째 피연산자를 반환합니다. 이는 값이 존재하지 않더라도 E_NOTICE를 발생시키지 않으므로 병합을 사용하는 것이 완전히 안전하다는 것을 의미합니다.

6. 결합 비교 연산자

결합 비교 연산자(우주선 연산자라고도 함)는 version_compare()와 유사합니다. 또는 strcmp()를 사용하지만 모든 일반 PHP 값에 사용할 수 있습니다. Ruby 및 Perl 프로그래밍 언어에는 이미 존재합니다.
연산자는 왼쪽 피연산자가 더 크면 -1을 반환하고, 둘 다 같으면 0을, 왼쪽이 더 크면 1을 반환합니다.

5. 생성기 반환 표현식 및 생성기 위임

생성기 반환 표현식을 사용하면 생성기가 성공적으로 완료되면 값을 반환할 수 있습니다. PHP 7에서는 $generator->getReturn()을 호출할 수 있습니다.  반환 값을 검색합니다. 생성기가 아직 반환되지 않았거나 포착되지 않은 예외가 발생한 경우 $generator->getReturn()  예외가 발생합니다. 만약 제너레이터가 완료되었으나 반환이 없는 경우에는 NULL이 반환됩니다.

생성기 위임 기능을 사용하면 반복자, 배열, 다른 생성기 등 자체적으로 탐색할 수 있는 또 다른 반복 가능한 구조를 반환할 수 있습니다. 하위 구조의 반복은 재귀 루프가 아닌 가장 바깥쪽의 원래 루프에 의해 수행됩니다.

4. 반환 유형 선언

많은 프로그래머는 함수의 반환 유형을 선언하고 싶어합니다. 특히 인터페이스에서 의도하지 않은 반환 값과 하위 유형이 상위 유형의 예상 반환 유형을 손상시키는 것을 방지하는 데 도움이 됩니다. 게다가 PHP 7에는 스칼라 유형에 대한 4가지 새로운 유형 감속(string, int, float 및 bool)이 포함되어 있습니다. 이러한 새로운 유형을 통해 코더는 정수, 부동 소수점, 문자열 및 부울이 반환될 것으로 예상하도록 지정할 수 있습니다.
위 이미지에서 foo 함수는 배열로 반환되어야 합니다. 몇 가지 복잡한 예를 확인해 보세요.

3. 추상 구문 트리

가장 크고 가장 눈에 띄지 않는 변화는 추상 구문 트리(컴파일 중 코드의 중간 표현)가 추가된 것입니다. 이는 파서에서 직접 opcode를 내보내는 기존 방식을 대체합니다. 이를 통해 우리는 수많은 해킹을 제거하고 구현을 더 이해하기 쉽고 유지 관리하기 쉽게 만들 수 있습니다. 또한 단일 패스 컴파일 프로세스에서는 실현할 수 없었던 구문을 구현할 수도 있습니다.

2. 완전히 새로운 Zend 엔진

1999년 PHP 4에 처음으로 도입된 Zend 엔진입니다. 이는 PHP를 해석하는 오픈 소스 스크립팅 엔진(C로 작성)입니다.  현재 PHP 버전은 메모리 및 리소스 관리를 제공하고 확장 가능한 개체 모델과 상당한 성능 향상 기능을 언어에 추가하는 Zend Engine II를 사용합니다.
원래 코드명 phpng였던 새로운 Zend Engine III은 PHP 7용으로 개발 중입니다.

1. 성능 + 메모리 절약

PHP 7로 업그레이드하는 가장 큰 이유는 성능입니다. 이는 동일한 하드웨어에서 더 많은 고객을 호스팅할 수 있기 때문에 특히 소규모 호스트에게는 좋은 소식입니다. 7번째 버전의 성능은 실행 전이 아닌 런타임에 컴파일을 허용하는 JIT(Just-In-Time) 컴파일러를 특징으로 하는 Facebook HHVM과 동등합니다. 내부 데이터 구조를 최적화하여 메모리를 대폭 절약할 수도 있습니다.

추천:프로그래머와 개발자를 위한 놀라운 PHP 라이브러리 30개

Zend에서 공개한 그래프에서 볼 수 있듯이 PHP 5.6의 WordPress 요청은 1억 CPU 명령 미만으로 실행되는 반면, PHP 7은 동일한 작업을 수행하기 위해 25M만 실행합니다. 또한, 테스트 결과 동일한 하드웨어에서 3배의 Magento 트랜잭션을 실행할 수 있으며 Drupal 8은 PHP 7을 사용하여 72% 더 빠르게 실행되는 것으로 나타났습니다.


산업기술

  1. 일반적인 모터 되감기 실패 및 식별 방법
  2. 전위차계 회로:작동 방식 및 용도
  3. CMOS 센서 PCB 레이아웃을 수행하는 방법을 알고 있습니까?
  4. 금속 제작 프로젝트 공급업체를 심사할 때 고려할 사항
  5. 지금 공급망을 최대한 활용하는 방법
  6. 연구원들이 3,500만 코어 시간 만에 가장 큰 암호화 키 [RSA-240]를 해독
  7. 파생상품 규정
  8. gRPC Python – 프로세스 데이터 읽기 및 쓰기
  9. 스폿 용접이란 무엇입니까?- 정의, 작동 원리
  10. 정시 배송은 브랜드와 소매업체 간의 전쟁입니다.