라이브러리

[PHP] BackedEnum::from - 스칼라를 열거형 인스턴스에 매핑합니다.




PHP에서 BackedEnum


PHP 8.1 버전부터 `BackedEnum` 클래스가 추가되었습니다. 이 클래스는 이전에 `Enum` 클래스를 사용했을 때의 단점을 보완하기 위해 개발되었습니다. `BackedEnum` 클래스는 `Enum` 클래스와 유사하지만, 더 많은 기능을 제공합니다.

# BackedEnum의 특징


- 값이 변경되지 않음: `BackedEnum` 클래스의 값은 변경되지 않습니다. 이는 `Enum` 클래스와 달리, `BackedEnum` 클래스의 값이 변경되지 않습니다.
- 타입 안전: `BackedEnum` 클래스는 타입 안전합니다. 이는 `BackedEnum` 클래스의 값이 타입 체크를 통해 확인됩니다.
- 자동 완성: `BackedEnum` 클래스는 자동 완성을 지원합니다. 이는 `BackedEnum` 클래스의 값이 자동으로 완성됩니다.

BackedEnum::from


`BackedEnum::from` 메서드는 `BackedEnum` 클래스의 인스턴스를 생성합니다. 이 메서드는 `BackedEnum` 클래스의 값으로 인스턴스를 생성합니다.

# 예제


#hostingforum.kr
php

enum Color: int {

    case RED = 1;

    case GREEN = 2;

    case BLUE = 3;

}



$color = Color::from(2);

echo $color->name; // GREEN



$color = Color::from('GREEN');

echo $color->name; // GREEN



위 예제에서, `Color` 클래스는 `BackedEnum` 클래스를 상속합니다. `Color` 클래스에는 `RED`, `GREEN`, `BLUE` 값이 정의되어 있습니다. `Color::from` 메서드는 `Color` 클래스의 인스턴스를 생성합니다. `Color::from` 메서드는 `int` 또는 `string` 타입의 값을 받을 수 있습니다.

BackedEnum::tryFrom


`BackedEnum::tryFrom` 메서드는 `BackedEnum` 클래스의 인스턴스를 생성합니다. 이 메서드는 `BackedEnum` 클래스의 값으로 인스턴스를 생성합니다. 다만, 이 메서드는 실패할 수 있습니다.

# 예제


#hostingforum.kr
php

enum Color: int {

    case RED = 1;

    case GREEN = 2;

    case BLUE = 3;

}



$color = Color::tryFrom(4);

if ($color === null) {

    echo 'Color 인스턴스를 생성할 수 없습니다.';

}



$color = Color::tryFrom('GREEN');

echo $color->name; // GREEN



위 예제에서, `Color::tryFrom` 메서드는 `Color` 클래스의 인스턴스를 생성합니다. 이 메서드는 실패할 수 있습니다. 실패한 경우, `null` 값을 반환합니다.

결론


`BackedEnum` 클래스는 이전에 `Enum` 클래스를 사용했을 때의 단점을 보완하기 위해 개발되었습니다. `BackedEnum` 클래스는 `Enum` 클래스와 유사하지만, 더 많은 기능을 제공합니다. `BackedEnum::from` 메서드는 `BackedEnum` 클래스의 인스턴스를 생성합니다. 이 메서드는 `BackedEnum` 클래스의 값으로 인스턴스를 생성합니다. `BackedEnum::tryFrom` 메서드는 `BackedEnum` 클래스의 인스턴스를 생성합니다. 이 메서드는 실패할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 661 페이지

검색

게시물 검색