PHP Enum - 상용구 매핑 제거
public function getAll(): array // returns some static array of strings
와 같은 상용구 매핑을 제거하는 데 도움이 되는 작은 패키지를 함께 만들기로 결정했습니다.상수를 정의하기만 하면 Reflection API 덕분에 내
Enum\Enum
클래스가 나머지 작업을 처리합니다.다음은 예입니다.
<?php
namespace App;
use Enum\Enum;
class Status extends Enum
{
const ACTIVE = 'active';
const INACTIVE = 'inactive';
const BLOCKED = 'blocked';
}
$status = new Status();
$status->toArray(); // will return [ 'active' => 'active', 'inactive' => 'inactive', 'blocked' => 'blocked' ]
$status->hasValue('active'); // will return boolean
$status->hasKey('blocked'); // will return boolean
Enum
의 생성자에는 $caseLower=true
및 $caseUpper=false
2개의 매개변수가 있습니다.배열 키의 대소문자를 상수 대소문자와 동일하게 하려면
false
를 $caseLower
로 전달하십시오.$status = new Status(false);
배열 키의 대소문자를 대문자로 지정하려면
false
를 $caseLower
로, true
를 $caseUpper
로 전달합니다.$status = new Status(false, true);
방금 사용자 정의 유형
Enum
을 만들었습니다. 이제 이를 사용하여 클래스에서 더 나은 유형의 속성을 가질 수 있습니다. 예를 들어:<?php
namespace App;
use Enum\Enum;
class Person
{
public int $identifier;
public string $name;
public Enum $status;
}
이제 어떤 유형에 내
$status
가 있는지 정확히 알고 해당 유형으로 어떻게 작업해야 하는지 정확히 알고 있습니다. 원시 배열을 사용하는 것보다 이것이 훨씬 낫다는 것을 알았습니다.GitHub 저장소:
하코뱌센 / 페넘
Enum을 확장하는 클래스의 모든 상수는 enum 옵션의 배열로 변환됩니다.
PHP 열거형
This package provides you a class named Enum. It is designed to help you to structure
your Enum classes easily and get rid of the most boilerplate code.
용법
설치
작성기를 통해 설치:composer require codebot/phpenum
사용하는 방법
모든 Enum 클래스는 추상Enum
클래스를 확장해야 합니다.Enum
를 확장하는 클래스의 모든 상수는 enum 옵션으로 변환됩니다.
<?php
namespace App;
use Enum\Enum;
class Status extends Enum
{
const ACTIVE = 'active';
const INACTIVE = 'inactive';
const BLOCKED = 'blocked';
}
$status = new Status();
$status->toArray(); // will return [ 'active' => 'active', 'inactive' => 'inactive', 'blocked' => 'blocked' ]
$status->hasValue('active'); // will return boolean
$status->hasKey('blocked'); // will return boolean
Enum 생성자에는 $caseLower=true
및…
View on GitHub
좋은 하루 되세요!
Reference
이 문제에 관하여(PHP Enum - 상용구 매핑 제거), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/dragonfly/php-enum-get-rid-of-boilerplate-mappings-51kc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
This package provides you a class named Enum. It is designed to help you to structure your Enum classes easily and get rid of the most boilerplate code.
composer require codebot/phpenum
Reference
이 문제에 관하여(PHP Enum - 상용구 매핑 제거), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dragonfly/php-enum-get-rid-of-boilerplate-mappings-51kc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)