サポートサイト
著者によるサポートページとTwitter公式アカウントが公開されています。
- サポートサイト(GitHub): https://github.com/kenjis/fuelphp1st
- 公式アカウント(Twitter): @fuelphp1st
関連書籍
本書の改訂版(全3巻)の第1巻である『はじめてのフレームワークとしてのFuelPHP第2版(1) 環境構築編』『同(2) 入門編』『同(3) 実践編』が発売されています。
内容紹介
こんなフレームワークが欲しかった!
FuelPHP は、2011 年7 月に最初のバージョン1.0 がリリースされた最新のフレームワークです。先行する多くのフレームワークを参考に、PHP 5.3 の機能をフルに活用しゼロから開発されました。最初からMongoDB やRedis をサポートし、RESTful なコントローラをすぐに作成できる最先端のフルスタックなフレームワークです。しかも、シンプルで覚えやすく、かつ、軽量高速です。
新しいフレームワークですが、すでにGitHub では100 人以上の開発者がFuelPHP の開発に参加しており、ユーザも徐々に増え、品質や安定度も急激によくなってきています。本書は、そのFuelPHP の2012 年6 月にリリースされた最新のバージョン1.2 に関する日本初の入門書です。
本書のテーマは、フレームワークを使ったことのないPHP ユーザの方が、FuelPHP を使いこなせるようになることです。そのために開発をサポートするための開発環境の構築を丁寧に説明しており、フレームワークの基本から学習できるように構成されています。
本書のもう1 つのテーマは、FuelPHP での開発に際しテキストとなるような日本語の書籍をFuelPHPユーザの方に提供することです。そのため本書は日本ですでにFuelPHP を使っている10 人以上のユーザの方に査読されています。
本書で学習されたみなさんが、FuelPHP を気に入り、使いこなせるようになり、Web アプリケーションを楽しく作成できるようになることを願っています。(「はじめに」より抜粋)
書誌情報
- 著者: 鈴木憲治
- 発行日: 2012-07-02
- 最終更新日: 2012-08-03
- バージョン: 1.0.0
- ページ数: 337ページ(A4PDF版換算)
- 対応フォーマット: EPUB, PDF
- 出版社: 達人出版会
対象読者
フレームワークを使っていないPHPユーザ、またはPHPで使えるフレームワークを検討している人
著者について
鈴木憲治
FuelPHPまとめWiki管理人。プログラマ。2012年6月現在、日本に5人しかいない「PHP5技術者認定上級試験」の認定者の1人。1999年より日常的にGNU/Linuxを使っている(現在、Ubuntuユーザ)。Namazu Project、zaurus-ja、Usagi Projectなどさまざまなオープンソースプロジェクトに関わる。FuelPHPをPHPの3大フレームワークの1つにしようと画策している。著書に『PHP逆引きレシピ』『CodeIgniter徹底入門』(翔泳社)、『Webサイト制作者のためのPHP入門講座』(技術評論社)。
目次
はじめに
- こんなフレームワークが欲しかった!
- FuelPHPの開発者から日本のユーザへのメッセージ
- 本書の対象読者
- 本書の構成
- 本書の動作確認環境
- 本書の表記
- 本書のサポートサイト
- 謝辞
第1部 入門編
第1章 FuelPHPとは?
- 1.1 フレームワークとは?
- 1.1.1 フレームワークとライブラリの違い
- 1.1.2 フレームワークを使う利点
- 1.2 FuelPHPとは?
- 1.3 FuelPHPの特徴
- 1.3.1 FuelPHPの設計思想
- 1.3.2 FuelPHPの利点
- 1.4 FuelPHPのライセンス
- 1.5 FuelPHPの開発体制
- 1.5.1 コミュニティ主導
- 1.5.2 開発の拠点
- 1.6 FuelPHPのコミュニティ
- 1.6.1 日本語の情報サイト
- 1.6.2 公式ドキュメントの日本語化
第2章 開発環境の構築
- 2.1 FuelPHPでの開発に必要なソフトウェア
- 2.1.1 Gitとは?
- 2.1.2 Eclipse/PDTとは?
- 2.1.3 MakeGoodとは?
- 2.2 Windowsでの開発環境の構築
- 2.2.1 XAMPP for Windowsのインストール
- 2.2.2 Eclipseのインストール
- 2.2.3 PDTのインストール
- 2.2.4 MakeGoodのインストール
- 2.2.5 Word Wrapのインストール
- 2.2.6 PHPUnitのインストール
- 2.2.7 msysgitのインストール
- 2.2.8 FuelPHPのインストール
- 2.3 Mac OS Xでの開発環境の構築
- 2.3.1 MAMPのインストール
- 2.3.2 Eclipseのインストール
- 2.3.3 PDTのインストール
- 2.3.4 MakeGoodのインストール
- 2.3.5 Word Wrapのインストール
- 2.3.6 PHPUnitのインストール
- 2.3.7 Gitのインストール
- 2.3.8 FuelPHPのインストール
- 2.4 GNU/Linuxでの開発環境の構築
- 2.4.1 XAMPP for Linuxのインストール
- 2.4.2 Eclipseのインストール
- 2.4.3 PDTのインストール
- 2.4.4 MakeGoodのインストール
- 2.4.5 Word Wrapのインストール
- 2.4.6 PHPUnitのインストール
- 2.4.7 Gitのインストール
- 2.4.8 FuelPHPのインストール
- 2.5 FuelPHPの設定
- 2.5.1 config.phpの変更
- 2.6 Eclipse/PDTの設定
- 2.6.1 文字エンコーディングの設定
- 2.6.2 PHP実行可能ファイルの設定
- 2.6.3 PHPデバッグの設定
- 2.6.4 fuelphpプロジェクトの作成
- 2.6.5 自動補完の設定
- 2.6.6 Word Wrapの使い方
第3章 はじめてのFuelPHP
- 3.1 はじめてのFuelPHPプログラミング
- 3.1.1 PHPでファイル表示プログラムを作る
- 3.1.2 FuelPHPでファイル表示プログラムを作る
- 3.2 “Hello World!”で学ぶFuelPHPの基本
- 3.2.1 コントローラとは?
- 3.2.2 コントローラのみのHello World!
- 3.2.3 ビューとは?
- 3.2.4 ビューを使用したHello World!
- 3.3 FuelPHPのURL
- 3.4 FuelPHPのフォルダ構成
- 3.4.1 全体のフォルダ構成
- 3.4.2 appフォルダの構成
第4章 FuelPHPのMVC
- 4.1 MVCとは?
- 4.1.1 ビュー
- 4.1.2 モデル
- 4.1.3 コントローラ
- 4.2 コントローラ
- 4.2.1 コントローラの規約
- 4.2.2 コントローラとURLの関係
- 4.2.3 コントローラからの返り値
- 4.2.4 コントローラの特殊なメソッド
- 4.2.5 Templateコントローラ
- 4.2.6 Restコントローラ
- 4.2.7 Hybridコントローラ
- 4.3 ビュー
- 4.3.1 ビューの規約
- 4.3.2 ビューの使い方
- 4.3.3 レイアウト機能
- 4.4 モデル
- 4.4.1 モデルの規約
- 4.4.2 モデルの使い方
- 4.5 ビューモデル
- 4.6 モジュール
第5章 FuelPHPの機能概要
- 5.1 FuelPHPの処理フロー
- 5.2 環境別の設定ファイル
- 5.2.1 環境の設定
- 5.2.2 有効になる設定ファイル
- 5.3 ルーティング
- 5.3.1 基本的なルーティング
- 5.3.2 予約済みのルート
- 5.3.3 正規表現によるルーティング
- 5.3.4 高度なルーティング
- 5.4 セキュリティ
- 5.4.1 FuelPHPのセキュリティ機能
- 5.4.2 安全なWebアプリケーション構築のための原則
- 5.5 Coreクラス
- 5.5.1 コアとなるクラス
- 5.5.2 データベース関連のクラス
- 5.5.3 HTML関連のクラス
- 5.5.4 HTTP関連のクラス
- 5.5.5 ファイル関連のクラス
- 5.5.6 その他のクラス
- 5.5.7 Coreクラスの使い方
- 5.6 パッケージ
- 5.7 名前空間とオートロード
- 5.7.1 名前空間とは?
- 5.7.2 名前空間とクラス名のエイリアス
- 5.7.3 FuelPHPの名前空間
- 5.7.4 オートロード
- 5.8 HTTPエラー処理
- 5.8.1 404エラー
- 5.8.2 500エラー
- 5.9 データベース機能
- 5.9.1 DBクラス
- 5.9.2 クエリビルダー
- 5.9.3 DBUtilクラス
- 5.9.4 データベースマイグレーション
- 5.9.5 ORMパッケージ
- 5.10 デバッグとログ出力
- 5.10.1 デバッグ用メソッド
- 5.10.2 プロファイラ
- 5.10.3 ログ出力
- 5.11 コマンドラインからの実行(タスク)
- 5.11.1 タスクの作成方法
- 5.11.2 タスクの実行方法
- 5.12 コマンドラインからのコード生成
第6章 FuelPHPの拡張
- 6.1 ライブラリの作成
- 6.1.1 クラスの初期化
- 6.2 サードパーティ製ライブラリの使用
- 6.2.1 PSR-0準拠のライブラリの使用
- 6.3 Coreクラスの拡張
- 6.4 イベントによる拡張
- 6.4.1 ユーザ定義イベント
第7章 FuelPHPでのユニットテスト
- 7.1 ユニットテストとは?
- 7.1.1 テストの自動化
- 7.1.2 テスティングフレームワーク
- 7.1.3 PHPUnitとは?
- 7.2 はじめてのPHPUnit
- 7.2.1 テストコードの作成
- 7.2.2 テストの実行
- 7.2.3 setUp()とtearDown()
- 7.2.4 データプロバイダ
- 7.3 FuelPHPでのユニットテスト
- 7.3.1 Coreクラスのユニットテスト
- 7.3.2 アプリケーションのユニットテスト
- 7.3.3 MakeGoodの設定
- 7.3.4 MakeGoodからのテストの実行
第2部 実践編
第8章 コンタクトフォームの作成
- 8.1 コンタクトフォームの設計
- 8.1.1 機能の洗い出し
- 8.1.2 ページ遷移とメソッド名の検討
- 8.1.3 ビューのデザイン
- 8.1.4 フォームの設計
- 8.1.5 フォルダ構成
- 8.2 コンタクトフォームのコーディング
- 8.2.1 入力ページのビューの作成
- 8.2.2 コントローラファイルの作成
- 8.2.3 入力ページのアクションメソッドの作成
- 8.2.4 検証ルールの定義
- 8.2.5 確認ページのアクションメソッドの作成
- 8.2.6 確認ページのビューの作成
- 8.2.7 検証エラーメッセージの日本語化
- 8.2.8 完了ページのアクションメソッドの作成
- 8.2.9 完了ページのビューの作成
第9章 コンタクトフォームの改良
- 9.1 入力データの検証の強化
- 9.1.1 文字エンコーディングの検証
- 9.1.2 例外の作成
- 9.1.3 入力フィルタのテスト
- 9.1.4 入力フィルタの追加
- 9.1.5 入力フィルタの設定
- 9.1.6 独自の検証ルールの作成
- 9.1.7 独自の検証ルールの追加
- 9.2 セキュリティ対策の強化
- 9.2.1 クリックジャック対策
- 9.3 ファンクショナルテストの追加
- 9.3.1 ファンクショナルテストとは?
- 9.3.2 Goutteのインストール
- 9.3.3 FunctionalTestCaseクラスの作成
- 9.3.4 入力ページのテスト
- 9.3.5 フォームのテスト
- 9.3.6 確認ページのテスト
- 9.3.7 完了ページのテスト
- 9.4 リファクタリング
- 9.4.1 Fieldsetクラスの使用
- 9.4.2 モデルの追加
- 9.4.3 設定ファイルの使用
第10章 コンタクトフォームの機能追加
- 10.1 データベースの使用
- 10.1.1 データベースおよびユーザの作成
- 10.1.2 データベース接続設定
- 10.1.3 テーブルの設計
- 10.1.4 テーブルの作成
- 10.1.5 モデルの作成
- 10.1.6 モデルのテスト
- 10.1.7 コントローラの変更
- 10.2 管理ページの追加
- 10.2.1 パッケージを使用するための設定
- 10.2.2 SimpleAuthの設定
- 10.2.3 Userモデルの作成
- 10.2.4 管理者ユーザの登録
- 10.2.5 管理ページの生成
- 10.2.6 管理ページの閲覧
- 10.2.7 生成されたコードの変更
- 10.3 コードカバレッジ解析
- 10.3.1 コードカバレッジレポートの設定
- 10.3.2 コードカバレッジレポートの作成
リモートデバッグ
- リモートデバッグの実行方法
- Debugパースペクティブへの切り替え
- ブレークポイントの設定
- デバッグの実行
- デバッグの制御
- デバッグの終了
- ブレークポイントの条件設定
- 使用するブラウザの変更