PHP 근황 - 파이프 연산자 도입 RFC 투표
https://wiki.php.net/rfc/pipe-operator-v3
PHP 에 파이프 연산자를 도입하기 위한 rfc 가 세차례 올라왔고
각 단계에서 구현시 단점, 엔진 내부가 수정되었습니다.
이번에는 찬성표가 많네요
투표종료일은 5월 26일 과연 통과될것인지.
왜 엔진에 넣었나요?
사용자 공간 구현의 가장 큰 한계는 성능입니다. 가장 기본적인 구현(Crell/fp)조차도 모든 연산에 2~3개의 함수 호출을 추가해야 하는데, 이는 PHP에서 상대적으로 비용이 많이 듭니다. 네이티브 구현에서는 이러한 추가 오버헤드가 발생하지 않습니다. 또한 Crell/fp는 다음과 같이 다소 복잡한 함수 중첩을 초래합니다.
Crell/fp 패키지가 뭐냐면요 파이프연산을 함수로 구현한 라이브러리예요.
미래 범위
이 RFC는 구성 기반 코드를 더 쉽고 인체공학적으로 만들기 위해 의도적으로 여러 밀접하게 연관된 기능들의 "1단계"입니다. 이 RFC는 그 자체로도 이점을 제공하지만, 별도의 RFC로 분류될 만한 다른 여러 기능들과 의도적으로 연계되어 있습니다.
고차함수나 부분함수도 만들기 쉬워진다네요.
$profit = [1, 4, 5]
|> loadMany(...)
|> fn(array $records) => array_map(makeWidget(...), $records)
|> fn(array $ws) => array_filter(isOnSale(...), $ws)
|> fn(array $ws) => array_map(sellWidget(...), $ws)
|> array_sum(...);