ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
PHP フレームワークとは
PHP フレームワークは、Web アプリケーション開発で繰り返し必要となる共通処理(HTTP ルーティング、データベースアクセス、テンプレートレンダリング、認証、セッション、CSRF 防御など)をまとめて提供するライブラリ群です。生 PHP で全て自前実装するのに比べ、開発速度・保守性・セキュリティ・チーム開発のしやすさが大幅に向上します。
2026 年現在、実務で選ばれる PHP フレームワークは大きく分けてフルスタック型(Laravel / Symfony / CakePHP)とマイクロ型(Slim / Lumen)に分類されます。
主要 PHP フレームワーク比較表
| FW | 初版 | 分類 | 学習 | シェア | 得意分野 |
|---|---|---|---|---|---|
| Laravel | 2011 | フルスタック | 易 | ★★★★★ | 新規開発・SaaS・スタートアップ・受託 |
| Symfony | 2005 | フルスタック | 難 | ★★★★ | 大規模・エンタープライズ・基盤 |
| CodeIgniter | 2006 | 軽量フル | 易 | ★★★ | レガシー保守・PHP 入門者・小規模 |
| CakePHP | 2005 | フルスタック | 中 | ★★★ | Rails ライク、日本に多い |
| Zend / Laminas | 2006 | コンポーネント | 難 | ★★ | エンタープライズ・部品組み合わせ |
| Slim | 2010 | マイクロ | 易 | ★★ | API・マイクロサービス |
| Yii | 2008 | フルスタック | 中 | ★★ | 高速・コードジェネレータ充実 |
| Phalcon | 2012 | C 拡張 | 難 | ★ | 性能最優先(バイナリ実装) |
| Lumen | 2015 | マイクロ | 易 | ★ | 軽量 Laravel、API 専用(事実上 EOL) |
Laravel — シェア No.1
Taylor Otwell が 2011 年に開発開始。Eloquent ORM / Blade テンプレート / Artisan CLI / マイグレーション / キュー / イベント / ブロードキャスト / Echo / Sanctum (API 認証) など、現代の Web アプリに必要な要素が標準装備。
# インストール
composer create-project laravel/laravel example-app
cd example-app
php artisan serve
# モデル・マイグレーション・コントローラを一括生成
php artisan make:model Post -mcr
強み: 公式ドキュメント充実、Laracasts などの学習コンテンツ豊富、Forge / Vapor / Nova などエコシステム展開、Livewire / Inertia / Filament などの周辺ライブラリも活発。
弱み: マジック(Facade / 動的バインディング)が多く、内部理解が浅いまま「使えてしまう」リスク。性能面では Symfony / 軽量系より劣る場面も。
Symfony — エンタープライズ志向
SensioLabs(現 Symfony 社)開発。Drupal / Magento / Laravel など他フレームワークも Symfony コンポーネント(HttpFoundation / Console / EventDispatcher など)を多用しています。
# インストール
composer create-project symfony/skeleton:"7.1.*" my-app
cd my-app
symfony serve
# コントローラ生成
php bin/console make:controller HomeController
強み: コンポーネントベースで疎結合・厳格、依存性注入の徹底、長期サポート (LTS) 版、大規模・長期保守案件向き。
弱み: 学習曲線が急、設定・規約が多い、小規模案件にはオーバースペック。
CodeIgniter — 軽量・入門向け
EllisLab → BCIT が開発・運営。設定ファイル少なめ、規約も緩い。レガシー案件の保守でよく遭遇するフレームワーク。CodeIgniter 4(2020)で大幅にモダン化(Composer 対応・PSR 準拠)。
CakePHP — Rails ライク
2005 年スタート、Ruby on Rails の Convention over Configuration を PHP に持ち込んだ草分け。日本での採用が多く、書籍も豊富。CakePHP 5(2024)で PHP 8.1+ 対応・最新化。
Slim — マイクロフレームワーク
ルーティングとミドルウェアだけのミニマル設計。REST API 専用やマイクロサービスに最適:
use Slim\Factory\AppFactory;
require __DIR__ . '/../vendor/autoload.php';
$app = AppFactory::create();
$app->get('/hello/{name}', function ($request, $response, $args) {
$response->getBody()->write("Hello, " . $args['name']);
return $response;
});
$app->run();
Phalcon — C 拡張で爆速
PHP 拡張モジュール(.so)として実装され、他フレームワークの数倍~10 倍速いのが特徴。ただし拡張のインストールが必要で、共有レンタルサーバーでは使えない。
用途別おすすめ
| 用途 | 第一候補 | 第二候補 |
|---|---|---|
| 新規 Web アプリ(SaaS / 受託) | Laravel | Symfony |
| 大規模・長期保守・エンタープライズ | Symfony | Laminas |
| REST API 専用 / マイクロサービス | Slim | Laravel (sail+sanctum) |
| レガシー案件の保守 | CodeIgniter | CakePHP |
| 性能最優先(高負荷 API) | Phalcon | Swoole + Laravel Octane |
| 個人プロジェクト・学習 | Laravel | CodeIgniter |
フレームワーク選定の 5 ポイント
- チームの習熟度: 既に詳しい人がいる FW を選ぶのが安全
- 採用市場: 日本市場では Laravel が圧倒的に有利
- 性能要件: 1 万 QPS 超なら Phalcon / Swoole / Roadrunner 検討
- 長期サポート: LTS のある Symfony / Laravel(LTS 復活)が安心
- エコシステム: 認証 / 決済 / 管理画面など周辺ライブラリの充実度
FAQ
Q: Laravel と Symfony、初学者はどちらから?
A: 学習コスト・情報量から Laravel 推奨。慣れたら内部の Symfony コンポーネントを理解すると応用が利く。
Q: CodeIgniter は古い?
A: CI4 は現代化済。ただし新規開発で積極選択する理由は薄い。レガシー保守か、極小規模案件で。
Q: フレームワークを使わず素の PHP で書けばダメ?
A: 学習・極小スクリプトなら可。Web アプリで認証・CSRF・SQL インジェクション対策などを自前実装するとセキュリティリスクが跳ね上がる。本番運用は FW 推奨。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
- インストール方法
- 文法
- Composerのインストール
- 内部関数
- フレームワーク
- エラー一覧
- 改行出力
- printとechoの違い
- シングルクォートとダブルクォートの違い
- returnとyieldの違い
- var_dumpをログ出力
- CSV読み込み
- 待機・処理の遅延
- ログファイルにエラーを出力する方法
- エラーログ出力関数
- URLパラメータの配列化
- empty, is_null. issetの判定比較表
- httpステータスコードの付与
- バージョンの確認
- php.ini
- APIを呼び出す方法
- 外部ファイルを呼び出す方法
- カンマ区切りの文字列を配列に変換
- 配列からランダムに値を取り出す方法
- Webスクレイピング
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?