PHP의 열거형
PHP는 버전 8.1까지 기본적으로 열거형이 부족하여 미리 정의된 값을 저장하기가 어렵습니다. 널리 사용되는 솔루션은 상수를 사용하는 것이었지만 네임스페이스 충돌 문제와 전역 범위로 인해 어려움을 겪었습니다. 배열은 네임스페이스 충돌에 영향을 받지 않지만 유형 안전성이 부족하고 런타임 덮어쓰기가 발생하기 쉽습니다.
PHP 8.1의 기본 열거형
PHP 8.1부터 기본 열거형이 도입되었습니다. . 열거형 정의를 위한 깔끔한 구문을 제공합니다.
enum DaysOfWeek: int { case Sunday = 0; case Monday = 1; // ... }
Enum은 유형이 안전한 상수 및 값 유효성 검사에 사용할 수 있습니다.
$today = DaysOfWeek::Sunday; if ($today === DaysOfWeek::Monday) { // ... }
PHP 8.0 및 이전 버전에 대한 해결 방법
PHP 8.1 이전에는 널리 사용되는 해결 방법 포함됨:
abstract class DaysOfWeek { const Sunday = 0; const Monday = 1; // ... }
abstract class BasicEnum {} abstract class DaysOfWeek extends BasicEnum { const Sunday = 0; const Monday = 1; // ... }
이러한 클래스를 사용하면 값 유효성 검사가 가능해집니다.
if (DaysOfWeek::isValidName('Monday')) { // ... }
기타 옵션
결론
PHP 8.1에 기본 열거형이 도입되면서 사전 정의된 값으로 작업하는 것이 더욱 쉬워졌습니다. 견고하다. 그러나 이전 PHP 버전의 경우에도 열거형 기능을 제공하는 데 사용할 수 있는 효과적인 해결 방법이 있습니다.
위 내용은 PHP의 열거형은 어떻게 발전했으며 기본 지원 이전에는 어떤 해결 방법이 있었습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!