>  기사  >  백엔드 개발  >  PHP8의 새로운 기능 예: 중복 코드를 줄이기 위해 속성 추론 및 코드를 사용하는 방법은 무엇입니까?

PHP8의 새로운 기능 예: 중복 코드를 줄이기 위해 속성 추론 및 코드를 사용하는 방법은 무엇입니까?

王林
王林원래의
2023-09-12 19:15:27542검색

PHP8의 새로운 기능 예: 중복 코드를 줄이기 위해 속성 추론 및 코드를 사용하는 방법은 무엇입니까?

PHP8은 2020년 11월 26일에 공식 출시된 PHP 프로그래밍 언어의 최신 버전입니다. 웹 개발에 널리 사용되는 언어인 PHP8은 속성 추론 및 코드 축소 기능을 포함하여 많은 흥미로운 새 기능을 제공합니다. 이 문서에서는 이러한 새로운 기능을 사용하는 방법에 대한 몇 가지 예를 소개합니다.

1. 속성 파생

과거 PHP 버전에서는 속성에 액세스하고 수정하기 위해 클래스 속성에 대한 getter 및 setter 메서드를 수동으로 정의해야 했습니다. 그러나 PHP8에서는 속성 추론을 사용하여 이 프로세스를 단순화할 수 있습니다.

다음 예를 고려하면 이름과 나이라는 두 가지 속성이 있는 Person 클래스를 만듭니다.

class Person {
    public string $name;
    public int $age;

    public function getName(): string {
        return $this->name;
    }

    public function setName(string $name): void {
        $this->name = $name;
    }

    public function getAge(): int {
        return $this->age;
    }

    public function setAge(int $age): void {
        $this->age = $age;
    }
}

PHP8에서는 속성 파생을 사용하여 이 코드를 단순화할 수 있습니다.

class Person {
    public function __construct(
        public string $name,
        public int $age,
    ) {}
}

속성 파생을 사용하여 속성을 직접 정의할 수 있습니다. 생성자에서 클래스를 삭제하고 getter 및 setter 메서드 정의를 생략합니다. 이제 다음과 같은 방법으로 Person 클래스를 인스턴스화하고 속성에 액세스할 수 있습니다.

$person = new Person('John Doe', 25);
echo $person->name;  // 输出:John Doe
echo $person->age;  // 输出:25

보시다시피 속성 파생을 사용하면 코드 구조가 크게 단순화되고 중복 코드 작성이 줄어듭니다.

2. 코드 중복 줄이기

PHP8에서는 코드 중복을 줄이는 데 사용할 수 있는 몇 가지 새로운 기능도 도입했습니다. 이러한 기능 중 두 가지 기능인 명명된 매개 변수와 null 병합 연산자가 아래에 소개됩니다.

  1. 이름이 지정된 매개변수

이름이 지정된 매개변수는 함수나 메서드가 호출될 때 매개변수 이름을 지정하여 매개변수 값을 전달할 수 있다는 의미입니다. 이는 매개변수 위치에 대한 의존성을 줄이고 코드 가독성과 유지 관리성을 향상시킵니다.

다음 예를 생각해 보면 두 숫자의 합을 계산하는 함수가 있습니다.

function sum(int $a, int $b): int {
    return $a + $b;
}

echo sum(5, 10);  // 输出:15

이전 버전에서는 함수가 정의된 순서대로 매개변수 값을 전달해야 했습니다. 하지만 PHP8에서는 명명된 매개변수를 사용하여 함수를 호출할 수 있습니다.

echo sum(b: 5, a: 10);  // 输出:15

매개변수 이름을 지정하면 매개변수 값을 어떤 순서로든 전달할 수 있어 코드가 더 직관적이고 읽기 쉬워집니다.

  1. null 병합 연산자

PHP에서는 변수가 null인지 확인하고 null이면 기본값을 제공해야 하는 경우가 많습니다. 이전 버전에서는 이 기능을 달성하기 위해 일반적으로 삼항 연산자나 if 문을 사용했습니다.

다음 예를 고려하면 변수가 null인지 확인하고 기본값을 제공해야 합니다.

$username = isset($_GET['username']) ? $_GET['username'] : 'Guest';

PHP8에서는 null 병합 연산자(??)를 사용하여 이 코드를 단순화할 수 있습니다.

$username = $_GET['username'] ?? 'Guest';

If $ _GET['username']이 null이 아니면 해당 값을 $username에 할당하고, 그렇지 않으면 'Guest'를 $username에 할당합니다.

위의 예 외에도 PHP8에는 일치 표현식, 정적 반환 유형 선언 등과 같은 몇 가지 새로운 기능이 도입되었습니다. 이러한 기능은 PHP의 기능과 유연성을 크게 향상시켰습니다.

요약:

이 기사에서는 PHP8의 두 가지 새로운 기능, 즉 속성 추론과 중복 코드에 대한 코드 축소를 소개합니다. 속성 파생을 사용하면 클래스 속성을 더욱 간결하고 직관적으로 정의할 수 있으므로 중복된 getter 및 setter 메서드 작성이 줄어듭니다. 명명된 매개변수와 널 병합 연산자의 두 가지 기능은 코드의 가독성과 유지 관리성을 향상시킵니다. PHP8의 출시로 우리는 간결하고 효율적인 PHP 코드를 더욱 쉽게 작성할 수 있게 되었습니다.

위 내용은 PHP8의 새로운 기능 예: 중복 코드를 줄이기 위해 속성 추론 및 코드를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.