試験公開中

このエントリーをはてなブックマークに追加

はじめてのフレームワークとしてのFuelPHP第2版(3) 実践編

達人出版会

1,000円+税

FuelPHP入門の定番書『はじめてのフレームワークとしてのFuelPHP』の第2版。第2版は全3巻の構成となりました。本書はその第3巻として、FuelPHPを使ったアプリケーション開発を実際に行いながら解説します。

サポートサイト

著者によるサポートページとTwitter公式アカウントが公開されています。

関連書籍

本書は『はじめてのフレームワークとしてのFuelPHP第2版(1) 環境構築編』『同(2) 入門編』『同(3) 実践編』の全3巻のうちの第3巻になります。他の巻も販売中です。

はじめてのフレームワークとしてのFuelPHP第2版(1) 環境構築編
鈴木憲治
達人出版会
発行日: 2014-04-17
対応フォーマット: EPUB, PDF
はじめてのフレームワークとしてのFuelPHP第2版(2) 入門編
鈴木憲治
達人出版会
発行日: 2014-04-23
対応フォーマット: EPUB, PDF

※本書計3巻を元にラトルズ社から紙の書籍が発売になりました。こちらもぜひお買い求めください。

はじめてのフレームワークとしてのFuelPHP 改訂版
鈴木 憲治
ラトルズ
売り上げランキング: 23,539

内容紹介

本書は、FuelPHPの入門シリーズ『はじめてのフレームワークとしてのFuelPHP 第2版』の第3巻です。この巻では、実際にFuelPHPを使ってWebアプリケーションを作成します。改訂にあたっては、初版で古くなった部分を更新し、また、様々な改良を加え、テストも追加しました。

FuelPHPは、先行する多くのフレームワークを参考に、PHP 5.3の機能をフルに活用しゼロから開発されたフレームワークです。最初からMongoDBやRedisをサポートし、RESTfulなコントローラをすぐに作成できる最先端のフルスタックなフレームワークです。しかも、シンプルで覚えやすく、かつ、軽量高速です。

本書は、FuelPHPの入門書であると同時にPHPフレームワークの入門書です。本書のテーマは、フレームワークを使ったことのないPHPユーザの方が、FuelPHPを使いこなせるようになることです。この第3巻では、実際にWebアプリケーションを作成しながら、フレームワークやユニットテストへの理解を深めます。

本書の初版が出版されたのが、2012年7月。FuelPHP 1.0がリリースされて1年後のことでした。初版の対応バージョンは1.2。それから、2年の歳月が流れ、FuelPHPのバージョンも1.7.2に上がっています。その間に、FuelPHPの知名度は飛躍的に向上し、今では日本での4大PHPフレームワークの1つとして定着した感があります。実際の現場でもFuelPHPの利用は増加しており、FuelPHPと記載されている求人情報を目にすることも多くなりました。

本書で学習されたみなさんが、FuelPHPを気に入り、使いこなせるようになり、Webアプリケーションを楽しく作成できるようになることを願っています。

(「はじめに」より抜粋)

書誌情報

  • 著者: 鈴木憲治
  • 発行日:
  • 最終更新日: 2014-10-25
  • バージョン: 1.1.0
  • ページ数: 171ページ(A4PDF版換算)
  • 対応フォーマット: EPUB, PDF
  • 出版社: 達人出版会

対象読者

フレームワークを使っていないPHPユーザ、またはPHPで使えるフレームワークを検討している人

著者について

鈴木憲治

FuelPHPまとめWiki管理人。プログラマ。PHP5技術者認定上級試験認定者。1999年より日常的にGNU/Linuxを使っている(現在、Ubuntuユーザ)。Namazu Project、zaurus-ja、Usagi Projectなどさまざまなオープンソースプロジェクトに関わる。FuelPHPをPHPの3大フレームワークの1つにしようと画策している。著書に『PHP逆引きレシピ 第2版』『CodeIgniter徹底入門』(翔泳社)、『徹底攻略PHP5技術者認定[上級]試験問題集』(インプレスジャパン)、『Webサイト制作者のためのPHP入門講座』(技術評論社)などがある。

目次

はじめに

  • 本書の対象読者
  • 本書の構成
  • 本書の動作確認環境
    • Windows
    • Mac OS X
    • GNU/Linux
    • Vagrant
  • 本書の表記
    • 書式
  • 本書のサポートサイト
  • 本書の査読者
  • 謝辞

第1章 コンタクトフォームの作成

  • 1.1 コンタクトフォームの設計
  • 1.1.1 機能の洗い出し
  • 1.1.2 ページ遷移とメソッド名の検討
  • 1.1.3 ビューのデザイン
  • 1.1.4 フォームの設計
  • 1.1.5 フォルダ構成
  • 1.2 コンタクトフォームのコーディング
  • 1.2.1 入力ページのビューの作成
  • 1.2.2 コントローラファイルの作成
  • 1.2.3 入力ページのアクションメソッドの作成
  • 制御構造の別の構文
  • 1.2.4 検証ルールの定義
  • 1.2.5 確認ページのアクションメソッドの作成
  • 1.2.6 確認ページのビューの作成
  • CSRF(クロスサイトリクエストフォージェリ)
  • 1.2.7 検証エラーメッセージの日本語化
  • 1.2.8 例外の作成
  • 1.2.9 完了ページのアクションメソッドの作成
  • 1.2.10 完了ページのビューの作成
  • Gmail経由でメールを送信する方法

第2章 コンタクトフォームの改良

  • 2.1 入力データの検証の強化
  • 2.1.1 文字エンコーディングの検証
  • 2.1.2 入力フィルタのテスト
  • 2.1.3 入力フィルタの追加
  • 2.1.4 入力フィルタの設定
  • 2.1.5 独自の検証ルールの作成
  • 2.1.6 独自の検証ルールの追加
  • 2.2 セキュリティ対策の強化
  • 2.2.1 クリックジャック対策
  • クリックジャックとは?
  • 2.3 ファンクショナルテストの追加
  • 2.3.1 ファンクショナルテストとは?
  • 2.3.2 Goutteのインストール
  • 2.3.3 FunctionalTestCaseクラスの作成
  • 2.3.4 入力ページのテスト
  • 2.3.5 フォームのテスト
  • 2.3.6 確認ページのテスト
  • 2.3.7 完了ページのテスト
  • ファンクショナルテストは壊れやすい

第3章 コンタクトフォームのリファクタリング

  • 3.1 Fieldsetクラスの使用
  • 3.1.1 フォームの定義
  • 3.1.2 action_index()メソッドの変更
  • 3.1.3 form/indexビューの変更
  • 3.1.4 action_confirm()メソッドの変更
  • 3.1.5 action_send()メソッドの変更
  • 3.2 モデルの追加
  • 3.2.1 Mailモデルの作成
  • 3.2.2 Mailモデルのテスト
  • 3.2.3 Formコントローラの変更
  • 3.3 設定ファイルの使用
  • 3.3.1 設定ファイルの作成
  • 3.3.2 Mailモデルの変更

第4章 データベースの使用

  • 4.1 使用するデータベースとFuelPHPのデータベース機能
  • 4.2 データベースおよびユーザの作成
  • 4.3 データベース接続設定
  • PDOドライバ(MySQL)での文字エンコーディングの指定方法
  • 4.4 テーブルの設計
  • 4.5 テーブルの作成
  • 4.5.1 マイグレーションによるテーブルの作成
  • 4.5.2 手動でのテーブルの作成
  • 4.6 モデルの作成
  • 4.7 モデルのテスト
  • 4.7.1 テストデータの準備
  • 4.7.2 DbTestCaseクラスの作成
  • 4.7.3 Model_Formクラスのテスト
  • 4.7.4 データ挿入のテスト
  • 4.8 コントローラの変更

第5章 管理ページの作成

  • 5.1 管理ページの作成方針
  • 5.2 パッケージを使用するための設定
  • 5.3 Simpleauthの設定
  • 5.3.1 グループの設定
  • 5.3.2 ソルトの設定
  • 5.3.3 データベーステーブルの作成
  • 5.4 管理者ユーザの登録
  • 5.5 管理ページの生成
  • 5.5.1 formテーブルの削除
  • 5.5.2 データベーステーブルからUserモデルを自動生成
  • 5.5.3 Userモデル
  • 5.5.4 管理ページの自動生成
  • 5.5.5 Formモデル
  • 5.5.6 Formモデルのテストの変更
  • 5.5.7 Formコントローラの変更
  • 5.5.8 ファンクショナルテストの追加
  • 5.6 管理ページの閲覧
  • 5.7 生成されたコードの変更
  • 5.7.1 ログインページ
  • 5.7.2 一覧ページ
  • 5.7.3 表示ページ
  • 5.7.4 使用しないコントローラのアクション

第6章 コントローラのユニットテスト

  • 6.1 AspectMockとは?
  • 6.2 AspectMockのインストール
  • 6.2.1 Composerによるインストール
  • 6.2.2 FuelPHPへの統合と設定
  • 6.3 ユニットテストの作成
  • 6.3.1 AmTestCaseクラスの作成
  • 6.3.2 controller_form_Testクラスの作成
  • 6.4 action_index()メソッドのテスト
  • 6.4.1 Responseオブジェクトのテスト
  • 6.4.2 モックによるCoreクラスの置き換え
  • 6.5 action_confirm()メソッドのテスト
  • 6.6 action_send()メソッドのテスト
  • 6.6.1 例外のテスト
  • 6.6.2 モックによるモデルの置き換え
  • 6.6.3 モックで例外を発生させる
  • 6.7 その他のケース
  • AspectMock使用時のクラスロードのエラー

第7章 コードカバレッジ解析

  • 7.1 コードカバレッジ解析とは?
  • 7.2 コードカバレッジレポートの設定
  • 7.3 コードカバレッジレポートの作成
  • 7.3.1 全体のレポート
  • 7.3.2 controllerフォルダのレポート
  • 7.3.3 modelフォルダのレポート
  • 7.3.4 テストされていないファイル

付録1 FuelPHPの情報の集め方

  • 公式ドキュメントを読む
    • 公式ドキュメント
    • 公式ドキュメントの日本語訳
  • 質問する
    • fuelphp.jp Googleグループ
    • 本家フォーラム
    • Stack Overflow
    • 公式IRCチャネル
  • バグを調査する
  • イベントやコミュニティへ参加する
  • その他
    • 本家Twitterアカウント
    • FuelPHPまとめWiki

付録2 本番環境へのデプロイ時の注意点

  • public/index.php
    • エラー表示
    • 実行時間とメモリ使用量の表示
  • 暗号鍵などの秘密情報
    • 秘密情報の環境変数からの取得
    • app/config/crypt.php
    • 秘密情報が含まれる設定ファイル
  • Composer

付録3 参考文献

Home 書籍一覧 はじめてのフレームワークとしてのFuelPHP第2版(3) 実践編 ▲ ページトップへ戻る