PHP8은 개발자가 조건부 판단 코드를 크게 단순화하는 데 도움이되는 새로운 기능인 매치 표현을 소개합니다. 기존 스위치 또는 if 엘스 명령문과 비교할 때 매치 표현식은 더 간결하고 읽기 쉬우 며 값을 직접 반환하여 코드 로직을 명확하게 할 수 있습니다.
PHP7 및 이전 버전에서 개발자는 일반적으로 스위치 문 또는 다층 IF-ELSE를 사용하여 조건부 판단을합니다. 이 방법은 함수를 구현할 수 있지만 종종 코드 복제, 높은 유지 보수 비용 및 불충분 한 논리로 이어집니다.
일치 표현식의 구문은 스위치와 유사하지만 값을 반환 할 수있는 표현식입니다. 다음은 숫자 유형을 결정하는 방법을 보여주는 예입니다.
함수 gettype (int $ 번호) { 반환 매치 (True) { $ 번호 <0 => '음수', $ 번호 == 0 => 'Zero', $ 번호> 0 => '긍정적', }; } 에코 게티페 (-5); // 출력 : 음수 echo gettype (0); // 출력 : 0 에코 게티페 (10); // 출력 : 긍정적 인
이 예에서 GetType 함수는 전달 된 숫자에 따라 해당 유형을 반환합니다. 일치의 판단 조건으로 True를 사용하면 여러 조건 분기를 쉽게 처리 할 수 있습니다.
숫자 유형을 판단하는 것 외에도 매치 표현식은 제품 유형을 기반으로 가격을 반환하는 것과 같은보다 복잡한 논리에도 사용할 수 있습니다.
함수 getPrice (String $ productType) { 반환 매치 ($ productType) { '책'=> 20, '옷'=> 50, '전자 제품'=> 100, default => 0, }; } echo getPrice ( 'book'); // 출력 : 20 echo getPrice ( '옷'); // 출력 : 50 echo getPrice ( 'Electronics'); // 출력 : 100 echo getPrice ( '알 수없는'); // 출력 : 0
이 예에서 GetPrice 함수는 다른 제품 유형에 따라 해당 가격을 반환하며 조건이 일치하지 않으면 기본값은 0입니다.
경기 표현식은 단순한 조건 일치에 사용될 수있을뿐만 아니라 논리 연산자의 조건을 결합하고 익명 기능을 사용한 결과를 반환하는 것과 같은 기능을 지원합니다. 이러한 기능은 코드를보다 유연하게 만들고 복잡한 비즈니스 논리의 처리를 용이하게합니다.
PHP8의 매치 표현식은 효율적이고 간결한 조건부 판단 방식을 제공하며, 이는 번거로운 IF-ELSE 또는 스위치 명세서를 대체 할 수 있습니다. 경기 표현을 사용하면 코드 가독성을 향상시키고 중복 코드를 줄이며 개발 효율성을 향상시킬 수 있습니다. 이 예를 통해 개발자는 더 빨리 시작하고 실제 프로젝트에서 경기 표현을 적용 할 수 있습니다.