PHP의 열거형
열거형은 특정 개념이나 컨텍스트를 나타내는 데 사용되는 사전 정의된 값의 유한한 집합을 나타냅니다. PHP에는 기본적으로 열거형이 부족하지만 해당 기능을 시뮬레이션할 수 있는 솔루션과 해결 방법이 있습니다.
PHP 8.1 이상
PHP 8.1부터 열거형이 완전히 지원되며 다음을 수행할 수 있습니다. enum 키워드를 사용하여 정의됩니다. 요일을 정의하는 열거형의 예:
enum DaysOfWeek: int { case Sunday = 0; case Monday = 1; // etc. }
PHP 8.0 및 이전 버전
PHP 8.1 이전에는 열거형을 에뮬레이트하는 몇 가지 옵션이 있습니다.
1. 상수
PHP 상수는 그룹화하여 열거형을 시뮬레이션할 수 있지만 전역 특성으로 인해 잠재적인 네임스페이스 충돌이 발생할 수 있습니다.
2. 배열
배열은 유연성을 제공하지만 사전 정의된 값과 IDE 자동 완성 기능이 부족합니다. 또한 런타임 시 해당 값을 덮어쓸 수 있습니다.
3. BasicEnum 클래스
추상 클래스를 사용하여 기본 열거 기능을 구현할 수 있습니다.
abstract class BasicEnum { private static function getConstants() { // Cache reflection results for improved performance ... } public static function isValidName($name, $strict = false) { // Validate a name using reflection ... } public static function isValidValue($value, $strict = true) { // Validate a value using reflection ... } }
이 클래스를 확장하면 유효성 검사 기능이 있는 사용자 정의 열거를 생성할 수 있습니다.
abstract class DaysOfWeek extends BasicEnum { const Sunday = 0; const Monday = 1; // etc. } // Validation examples DaysOfWeek::isValidName('Humpday'); // false DaysOfWeek::isValidValue(5); // true
4. SplEnum
PHP 5.3부터 SplEnum 클래스를 사용하여 열거형을 생성할 수 있습니다. 열거형을 정의하고 사용하는 강력하고 표준화된 방법을 제공하지만 열거형 멤버를 인스턴스화해야 하므로 모든 경우에 바람직하지는 않습니다.
위 내용은 버전 차이를 고려하여 PHP에서 열거형을 효과적으로 구현할 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!