タイトル: フレームワーク
PHPのフレームワークに関する記事です。
それぞれのフレームワークの詳細については子ページを参照してください。
フレームワークとは?
フレームワークとは開発を行う上で必要となる、共通のデザインパターンやライブラリを提供するソフトウェア。
フレームワークを使用することで、設計方針の明確化やライブラリを使用することで開発効率を上げることが出来る。
本ページの子ページ一覧
| フレームワーク | 特徴 | 位置づけ |
|---|---|---|
| Laravel | 表現力豊かなArtisan・Eloquent ORM・Bladeを備えるフルスタック | 現在のPHP Webの事実上の主流 |
| Symfony | コンポーネント志向。Drupal/Laravel等も内部で利用 | 大規模・堅牢な業務システム向け |
| CakePHP | RoR インスパイア、Convention over Configuration | 2010年代に広く採用、現在も継続 |
| CodeIgniter | 軽量・高速・学習コスト低 | 小〜中規模プロジェクト向け |
| FuelPHP | PHP 5.3+ 向けに設計されたMVC | 国内コミュニティもあった軽量系 |
| Slim | マイクロフレームワーク(API中心) | REST API/マイクロサービス向け |
| Flight | シンプルな超軽量ルーティング | 1ファイルAPI等の用途 |
| Silex | Symfonyベースのマイクロフレームワーク | 2018年にEOL、後継はSymfony Flex |
| Zend Framework | 歴史あるエンタープライズFW、現Laminas Projectに移行 | 大規模・歴史的システムに残存 |
| Yii | 高速・コンポーネント志向 | ロシア・東欧で人気 |
| Phalcon | C拡張として動作、極めて高速 | パフォーマンス重視のニッチ用途 |
| DietCake | CakePHP由来の軽量フォーク | 国産・小規模向け |
選び方の目安
- 新規プロジェクト・とりあえず標準 → Laravel
- 大規模・長期保守 → Symfony
- REST APIだけ作りたい → Slim または Laravel の API ルート
- 学習用・軽さ重視 → CodeIgniter
- パフォーマンス極限 → Phalcon(C拡張)
フレームワーク選定で意識すること
- メンテナンス状況: アクティブな開発が続いているか(Silexは終了)
- セキュリティ更新: CVE対応がどれだけ早いか
- コミュニティ規模: 日本語の情報源、問題解決のスピード
- PHPバージョン要件: PHP 8.x 対応か、Composer での依存解決
- 学習リソース: 公式ドキュメント、書籍、動画教材
- ORMとテンプレートエンジン: Eloquent / Doctrine、Blade / Twig 等の好み