拡張機能研究所

おすすめのブラウザ拡張機能をマンガ形式で紹介!

2025/08/08 14:00

PHP 8.5でついに登場!パイプ演算子でコードがスッキリ読めるかも?

PHP 8.5から新しく使えるようになったパイプ演算子について、わかりやすく紹介。 コードの書き方がちょっと変わるかも、そんな話を気軽に話します。
PHP 8.5でついに登場!パイプ演算子でコードがスッキリ読めるかも?

なんとなくPHPのコードって、関数を次々に呼ぶとカッコがいっぱいで見づらいな〜って思ったことない?💭

わたしもプログラミング始めた頃は「これ、もっとスッキリできたらいいのに…」って何度も感じてたんだよね😳✨

そんな中、2025年7月にリリースされたPHP 8.5から、「パイプ演算子」っていう新機能が加わったみたい🎉

今回はそのパイプ演算子が何なのか、そしてどんなふうに使うと便利なのかをサクッと話してみるよ〜💡


パイプ演算子って何?

まずこれ、簡単に言うと「複数の処理をつなげて書ける記号」だよ🫶

具体的には、|>という記号で、これを使うと…

// これまではこう書いてた
$result = trim(strtolower($input));

// パイプ演算子ならこう書ける
$result = $input |> strtolower(|>) |> trim(|>);

どう?なんだか処理の流れが左から右にスーッと読める感じだよね✨

「関数の中に関数を埋め込む」っていう、いわゆるネストが減る感じかな💭


なんでこれが便利?

PHPって昔からずっと人気あるけど、コードがゴチャっとなりがちなのはよくある話🥺

このパイプ演算子があれば、

  • コードの可読性アップ
  • 処理の流れが直感的に理解しやすくなる
  • ちょっとしたミスが減りそう

っていうメリットが期待できるんだ✨

わたしみたいな初心者にも、いろんな関数が連続するとき「どこから呼ばれてるんだっけ?」って迷うことあるから、これは地味に助かるポイントかも💗


気になるところもチラリ

ただ、使いこなすには慣れが必要かもしれない…🤔

わたしも最初は「パイプ演算子!?なにそれ!?どう使うんだ??」って混乱したし💦

あと、まだ新しい機能だから、古い環境では使えないこともあるからそこは注意点かな〜🌸


まとめると?

  • PHP 8.5からパイプ演算子|>が使えるようになった
  • 関数のネストが減って、コードが読みやすくなる
  • まだ慣れが必要だけど、書き方が変わることでミスが減るかも
  • 古いPHP環境では使えない可能性があるから、そこは気をつけてね!

なんだかコードの読みやすさって、毎日のちょっとしたストレスを減らす大事なポイントだと思うんだよね🥺✨

これからPHPを触る人も、経験ある人も、パイプ演算子をチラッと知っておくと便利かもって話でした💭

ではまた気になる新機能があったらシェアするね〜👀🌸


コメント

アバター

キンバリー

Javaのビルダーパターンやストリームパターンに演算子がついた感じだね。

アバター

ハンナ

標準ライブラリがゴチャゴチャで、引数の順番もバラバラ、変な真偽値が最初や最後に来たりして、すごく汚くなりそう。

アバター

ノーラン

PHPはいつも間違った方向にばかりこだわってて、長時間動くプログラムとか作れないのが残念。

アバター

リリー

2025年のUnicode事情は知らないけど、前見た時は面倒な拡張だけだった気がする。

アバター

エイダン

あと数年でどの言語も同じ文法になって、履歴書に「何でも書けます!」って書けそうだねw

アバター

クリス

Goでは短いラムダを追加するか7年も議論してるみたいだよ。

アバター

チャーリー

楽しみだね!

アバター

ロバート

もし投稿者が作者ならありがとう、他の説明よりずっと分かりやすかった。

アバター

ロバート

違う人なら投稿ありがとう!

アバター

サム

こんな演算子見たことなかったけど、なんか好きかも?

アバター

ミア

記事の通りで、複雑な一行コードや面倒な変数のゴチャゴチャをスッキリ書けるね。

アバター

ノーラン

「T_BLINGって何だよ?」って怒る人の投稿が楽しみだなw

アバター

ハンナ

ありがとう、嫌いだよ。 全然読みにくい。

アバター

レオ

これは意外と面白い。 Elixirで使われてる|>演算子が好きなんだよね。

アバター

グレース

Rubyにも提案があったけど、普通のメソッドチェーンと比べて特にメリットがないのが問題。

アバター

ノーラン

PHPの提案は残念で、例えば"Hello World" |> strlen(...)は結局strlen("Hello World")と同じで、かえってコードが増える。

アバター

サム

PHPの設計者は一度ウォッカをやめたほうがいいよ。

アバター

クロエ

$arr |> fn($x) => array_column($x, 'tags') |> fn($x) => array_merge(...$x) |> array_unique(...) |> array_values(...);

アバター

ミア

これで['a','b','c','d','e','x','y']が得られるけど、Rubyならもっと簡単にできる。

アバター

グレース

Rubyには.selectや.rejectがあって、|>の価値はそこまで高くないんだよね。

アバター

ロバート

でもRubyでは自分の使い方をちゃんと考えれば|>も役立ちそう。

アバター

ノーラン

PHPはもう絶望的で、俺は数年使ってたけど、今はRubyの方がずっとマシだと思う。

アバター

ハンナ

パイプなしで書くとこうなるけど、PHPの構文が問題で、Rubyならもっとスッキリ書けるよ。

アバター

クリス

|>は関数型言語でよく見かけて、F#やOCamlでもほぼ同じ。

アバター

リリー

Elixirはちょっと凝ったバージョンだけど、今は見送ったみたい。

アバター

キンバリー

RubyはElixirから影響受けてて、Matzも間接的に共同設計者みたいなもんだからね。

アバター

サム

PHPのパイプの話はFacebookのHack/HHVMから始まったけど、これもムカつく。

アバター

ノーラン

FacebookがPHPコミュニティから吸い取ってフォークで弱らせてるだけ。

アバター

ハンナ

今やFacebookが文法まで決めてるとか最悪。 PHPには関わりたくない。

アバター

エイダン

うわー、超カッコいい! PHPの帽子被って初めての仕事言語で関数型プログラミング始めたい!

アバター

リリー

速度が気になるな。 PowerShellのパイプラインはプロトタイプ作りに便利だけど、.NETの組み込み関数より遅いことが多いんだよね。

アバター

ジョージ

違う言語だけど似た問題がありそう。


関連記事