Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gopherになって気づくPHPの良さ
Search
Keisuke Yamauchi
November 08, 2025
Programming
0
140
Gopherになって気づくPHPの良さ
PHPカンファレンス福岡2025にて発表したスライドです
Keisuke Yamauchi
November 08, 2025
Tweet
Share
More Decks by Keisuke Yamauchi
See All by Keisuke Yamauchi
動的型付け言語に抗うPHPStanという戦士
kechiiin
0
25
Cake.jpのCRM 今と未来
kechiiin
0
55
半年かけてPHP5.6からPHP7.4までバージョンアップした苦労と工夫 PHPカンファレンス福岡2024
kechiiin
1
810
(弊社の)OpenSearchに潜んでいた罠
kechiiin
0
130
before/afterで見る Cake.jpのアジャイル開発
kechiiin
0
26
ランダム処理を修正し、DBの負荷を下げた話
kechiiin
0
34
レガシーからモダンへ? PHP5.6からの脱却
kechiiin
0
360
Other Decks in Programming
See All in Programming
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
290
Codex の「自走力」を高める
yorifuji
0
750
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
320
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
280
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
250
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
620
15年目のiOSアプリを1から作り直す技術
teakun
1
610
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
330
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
430
CSC307 Lecture 15
javiergs
PRO
0
220
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
550
Windows on Ryzen and I
seosoft
0
130
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
A designer walks into a library…
pauljervisheath
210
24k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Code Reviewing Like a Champion
maltzj
528
40k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
310
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Everyday Curiosity
cassininazir
0
150
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Transcript
Gopherになって気づく PHPの良さ 2025/11/08 PHPカンファレンス福岡2025 けちーん
自己紹介 • 山内啓輔/けちーん • 所属:株式会社メドレー • PHPとGoを行ったり来たり ◦ PHP(Laravel) 1年
◦ Go(フレームワークなし) 1年 ◦ PHP(CakePHP1.3) 2.5年 ◦ Go(フレームワークなし) 0.5年 ← 今ここ
はじめに 経験を元にした話をします そのため、純粋な言語のみの比較だけではなく、現場の環境による違いなども含 まれますのでご了承ください 基本的にはWebアプリケーションについての話です
今日話すこと • PHPのここが最高! • でもPHPって・・・
PHPのここが最高!
PHPのここが最高! • 最強フレームワーク • 配列操作が豊富 • モノリシックな構成 • なんだかんだclassが好き
最強フレームワーク
最強フレームワーク PHP Laravelを筆頭に優秀なフルスタックフレームワークが多く存在する Laravelの機能 • Routing、Artisan Console、DI Container • Eloquent、Migration、Seeding
• Blade Template、Authentication/Authorization
最強フレームワーク Go フルスタックフレームワークも存在するが、主な選択はフレームワークなし、も しくは、軽量フレームワークなイメージ Ginの機能 ・高性能なHTTPルーター、ミドルウェア ・↓↓↓ これらは含まれない ↓↓↓ ・データベース関連、DIコンテナ、認証
etc...
最強フレームワーク ここまで話したように、PHPのフレームワークには様々な機能が含まれる • 開発を最速で始められる • 開発における迷いを減らせる • 運用コストを下げられる というように非常にありがたい存在
配列操作が豊富
配列操作が豊富 PHP array_xxx()というような配列操作をする関数が非常に多くある • in_array, array_key_exists • array_push, array_pop, array_shift,
array_unshift • array_merge, array_slice, array_chunk, array_column • array_map, array_filter • sort, asort, ksort, array_multisort
配列操作が豊富 ・Go PHPでいうarray_map, array_reduce, array_diffなどはなく、自前で実装するのかラ イブラリを使うのかなど考える必要がある やはりPHPはGoと比較すると配列操作は豊富にあり、こういう操作したいなと 思ったもののほとんどは関数が用意されている
モノリシックな構成
モノリシックな構成 PHP APIとしてLaravelを使用することもあるが、Bladeを使用して画面の実装を行うこ とが多い印象 • これ1つで完結する安心感 • 全てが1箇所にある強さ • 開発体験も良い
モノリシックな構成 Go マイクロサービスなど、API実装で利用するケースが多い • APIを修正すると、それに付随して他のリポジトリも修正する必要がある • リリース対象が増える
なんだかんだclassが好き
なんだかんだclassが好き Go 構造体というものがあり、それがclassに近い レシーバを使った書き方をすることで、構造体 のメソッドを定義できる このgetAgeメソッドは別ファイルにも書ける
なんだかんだclassが好き PHP この一つにまとまってる感じが好き 秩序を感じる 適切に設計されたclassは美しい
でもPHPって・・・
でもPHPって・・・ • 動的型付け言語だし、ランタイムでしかエラーに気づけない? • パフォーマンスはGoより劣る? • 記述の面倒さ?
動的型付け言語だし、ランタイムでしか エラーに気づけない?
動的型付け言語だし、ランタイムでしかエラーに気 づけない? 我々にはPHPStanがある!
我々にはPHPStanがある! 一応簡単に説明 PHPStan は、PHPのコード品質を高めるための静的解析ツール 実行時にしか見つからなかったバグを、コードを走らせる前に発見可能。PHPの 柔軟性から生じる型の不整合リスクなどを排除し、コードの安全性を高める上で 不可欠な存在 PHP開発の守護神
我々にはPHPStanがある!
パフォーマンスはGoより劣る?
パフォーマンスはGoより劣る? 一般的にはGoの方が処理速度が速いと言われる なので、別観点から(無理やり)PHPを褒めてみる
パフォーマンスはGoより劣る? Webアプリケーションにおいて、Webサーバーの処理さえ早けりゃ良いというも のではない DBで時間がかかる、ログの書き込みに時間がかかる、ネットワークが遅い etc... ユーザーにレスポンスを返すまで、様々な要因で遅れが生じる PHPがGoより遅いってだけで、パフォーマンスが劣るなんて言っていいはずがな い! と、いうことは・・・
パフォーマンスはGoより劣る? 優秀なフレームワークを持つPHPは、開発し始めるのが早く、 成熟したエコシステムを活かせ、開発速度も速い 総合的なパフォーマンスにおいては、かなり優秀と言える なので・・・ パフォーマンスは劣らない!
記述の面倒さ?
記述の面倒さ? ・PHP 変数名には$をつける必要がある 確かに面倒である 文末に;をつける必要がある 確かに面倒である ・Go でもGoも初登場の変数に代入するときは:=としないといけないから(震え声) 例:message :=
"Hello World!"
さいごに
さいごに 今回はPHPにとって有利な側面を見てきた 実際は色々な環境やフェーズにあった選択が必要になってくる 思考停止で「Laravelバンザイ!」ではなく、何が適切なのかしっかり吟味して技 術選定しなければならない・・・ が、PHPにはいいところがたくさんある!
おしまい