>백엔드 개발 >PHP8 >생성자 속성인 PHP8의 새로운 기능이 크게 향상되었습니다!

생성자 속성인 PHP8의 새로운 기능이 크게 향상되었습니다!

藏色散人
藏色散人앞으로
2020-07-23 13:17:166084검색


생성자 속성인 PHP8의 새로운 기능이 크게 향상되었습니다!

새 버전의 PHP가 12월 3일에 공식 출시됩니다. 수많은 버그 수정과 소소한 개선 외에도 전 세계 개발자들은 몇 가지 새롭고 흥미로운 기능을 얻게 될 것입니다. 목록은 아직 끝나지 않았지만 우리가 기대하는 새로운 기능을 살펴볼 수 있습니다. 일련의 짧은 기사를 준비할 예정이며, 각각에 초점을 맞출 것이므로 시작하겠습니다!

첫 번째 글에서는 건축자 부동산 프로모션을 소개했습니다. PHP8은 Hack, Korlin 또는 TypesScript와 같은 언어에서 유명한 개념을 소개합니다. 어떻게 작동하며 어떤 상황에서 사용할 수 있나요? 다음 예를 살펴보겠습니다.

Alt Text

꽤 간단한 숫자 개체죠? 우리는 거의 매일 이런 유형을 다루고 있습니다. 생성자 매개변수의 값을 클래스의 속성으로 전달해야 할 때마다 그림에 표시된 것처럼 전체 템플릿 코드 블록을 작성해야 하는데 이는 실제로 약간 짜증나는 일입니다. 생성자 속성 승격 함수는 이 문제를 해결하고 유사한 코드 작성을 더 짧고 간단하게 만들어줍니다. 사용 방법을 살펴보겠습니다.

Alt Text

생성자 매개변수의 유형 선언 앞에 액세스 수정자를 추가하기만 하면 해당 매개변수가 자동으로 동일한 이름을 가진 클래스 속성에 할당됩니다. 생성자에서 액세스 한정자가 있는 매개변수가 승격되어 동일한 이름을 가진 클래스 속성이 된다는 것을 이해할 수 있습니다.

속성 호이스팅과 일반 속성 선언을 혼합할 수 있습니다. 다음 예시와 같이

생성자 속성인 PHP8의 새로운 기능이 크게 향상되었습니다!

위 예시 코드는 다음 예시 코드와 동일합니다.

생성자 속성인 PHP8의 새로운 기능이 크게 향상되었습니다!

생성자 속성 승격(Constructor Property Promotion)은 일반 클래스와 traits 참조 클래스에서만 사용할 수 있습니다. , 인터페이스 및 추상 클래스 내부에서는 사용할 수 없습니다(이러한 클래스에서 생성자를 선언할 수는 있지만).

코드에서 VO(값 개체) 또는 DTO(데이터 전송 개체)를 많이 사용하는 경우 생성자 속성 승격을 사용하면 코드가 크게 단순화되고 단축됩니다. 유사한 기능 요청이 여러 번 논의되었지만 Nikita Popov가 작성한 구현만이 새 PHP 버전에 병합될 정도로 호평을 받았습니다. 이 RFC에서 이에 대한 자세한 내용을 읽을 수 있습니다.

"Inside PHP8" 시리즈의 다음 부분에서는 공용체 유형 구현에 대해 논의하겠습니다. 계속 지켜봐 주시기 바랍니다!


이 글은 원래 저희 회사 블로그에 게재된 글입니다. 여기를 클릭하시면 보실 수 있습니다.


원본 주소 : https://dev.to/avantar/pe-into-php8-pa...

번역 주소 : https://learnku.com/laravel/t/47600

위 내용은 생성자 속성인 PHP8의 새로운 기능이 크게 향상되었습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제