PHP 8 출시! 가장 좋아하는 기능은 무엇입니까?

3400 단어 discussphp
PHP 8.0에는 finally been released이 있으며 오랜 PHP 개발자로서 (무엇보다) PHP가 성숙해지고 정말 크게 개선되는 것을 보게 되어 기쁩니다. 그것은 많은 어려움을 겪고 다른 언어와 마찬가지로 한계와 성가심을 가지고 있지만 어떤 면에서는 훌륭하고 PHP 7.x보다 훨씬 낫습니다(이미 PHP 5.x보다 100배 더 낫습니다!).

새 버전에서 가장 좋아하는 기능은 무엇입니까? 프로덕션 PHP 앱을 PHP 8.0으로 바로 마이그레이션하시겠습니까, 아니면 잠시 보류하시겠습니까?

다음은 특별한 순서 없이 제가 가장 좋아하는 몇 가지입니다.

생성자 부동산 프로모션



TypeScript와 같은 언어에는 이미 이 기능이 있으며 개발자는 값 개체, 엔터티, DTO 등을 작성할 때 많은 시간을 절약할 수 있습니다.

PHP 7.3

<?php 
class MyClass {
    /** @var string */
    private $thing;
    /** @var int */
    private $otherThing;

    /**
     * @param string $thing
     * @param int $otherThing
     */
    public function __construct(
        string $thing,
        int $otherThing
    ) {
        $this->thing = $thing;
        $this->otherThing = $otherThing;
    }



PHP 8.0

<?php

class MyClass {
    public function __construct(
        public string $thing,
        public int $otherThing
    ) { 
    }
}



속성



마침내 응용 프로그램을 손상시킬 수 있는 댓글에서 벗어날 수 있습니다!

문법적으로는 주석과 크게 다르지 않지만 속성은 반사 핵이 아니라 실제 언어 기능이라는 것을 알고 있습니다. C#에서는 입력 필터 유효성 검사에서 Open API 정의에 이르기까지 모든 것에 특성을 사용할 수 있으며 시간이 지남에 따라 PHP 생태계에서 동일한 일이 발생하는 것을 볼 수 있습니다. abominations of annotations보다는 이들을 채택하는 주요 프레임워크에 의존할 뿐입니다!

JIT



이것은 많은 웹 앱, 블로그 등에 큰 차이를 만들지 않지만 백엔드 장기 실행 스크립트, CPU 집약적 작업 등의 경우 게임 체인저가 될 것입니다. PHP 8 릴리스 페이지의 그래프는 얼마나 많은 차이를 만들 수 있는지에 대한 몇 가지 예를 보여줍니다.



단순히 시간 때문에 언급하지 않은 더 많은 기능이 있습니다. 다른 사람들이 무엇을 기대하고 있는지, 그리고 이미 베타/RC 버전을 사용하고 있는지 또는 최대한 빨리 PHP 8로 업그레이드할 예정인지 의견을 통해 보고 싶습니다.

좋은 웹페이지 즐겨찾기