オープンソース徹底活用 CakePHPによるWebアプリケーション開発

概 要

フレームワークを初めて学ぶPHPプログラマに最適の、シンプルかつ高機能なPHPフレームワーク「CakePHP」の入門書です。CakePHPは簡単なインストールでライブラリ依存もなく、学習が容易です。また、豊富な自動生成機能によって大規模なWebアプリケーション開発でもプログラム量が抑えられるので、開発も簡単です。本書は、PHPプログラミングを既に習得している人を対象に、MVC(Model-View-Controller)のコントローラ、ビュー、モデルの使い方から、主なコンポーネントやビヘイビアの基本的な使い方、CakePHPの拡張まで解説しました。学習環境が一度に揃うXAMPP 1.7.0のほか、CakePHP 1.2.1やサンプルソースコードを収録したCD-ROM付き。

著者 掌田津耶乃
価格 本体2800円(税別)
ISBN 978-4-7980-2222-2
発売日 2009/3/14
判型 B5変
色数 1色
ページ数 448
CD/DVD Windows
対象読者 中級
シリーズ オープンソース徹底活用
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 フレームワークとCakePHP

1-1 フレームワークとCakePHP

■ちゃんと開発できてますか?

■PHP開発とフレームワーク

■CakePHPとは?

1-2 CakePHPの入手とインストール

■サーバ環境とPHPについて

■XAMPPの入手とインストール

■XAMPP Control Panelについて

■設定ファイルの修正

■CakePHPのダウンロード

■CakePHPの構成

■CakePHPを公開ディレクトリに配置する

■サーバ設定への追記

■デフォルトページはどこにある?

■開発環境で利用するには?

Chapter 2 コントローラとビュー

2-1 シンプルなWebアプリケーション開発

■MVCの役割

■MVCと命名規則

■もっともシンプルなWebアプリケーション

■コントローラを書いてみる

■メンバ変数とindexメソッド

■index以外へのアクセス

■ビューテンプレートを作る

■ビューテンプレートの仕組み

■レイアウトの使用

■アクションごとにレイアウト動作を変える

■レイアウトを作成する

■レイアウトの流れ

2-2 フォームの利用

■フォームの作成

■フォーム送信ページを作る

■送信情報を管理するparams配列

■送信テキストのサニタイジング

■その他のフォーム項目について

■POSTによる送信

2-3 Formヘルパーによるフォームの生成

■Formヘルパー(FormHelper)によるフォームの自動生成

■コントローラを修正する

■Formヘルパーで生成されたコード

■チェックボックスの生成

■ラベルの生成

■ラジオボタンの生成

■選択リストの生成

■フォームの値をビュー内で使用する場合

■その他のフォーム生成メソッド

■日時の入力フォーム生成

Chapter 3 データベースとモデル

3-1 データベース利用の基本

■なぜモデルがあるのか?

■CakePHPのデータベース関連ファイル

■テーブルの基本設計

■SQLiteでデータベースを用意する

■データベース設定ファイルの作成

■モデルの作成

■コントローラの作成

■ビューの作成

■MySQLにテーブルを用意する

■SQLコマンドでデータベースを作成する

■データベース設定の修正

■scaffoldによる高速開発

3-2 データベースの基本的な操作

■レコードを追加する

■コントローラの修正

■レコードの検索

■レコードを検索するfindメソッドの使い方

■first、list、countの違い

■演算子を指定する

■conditionsの秘密

■よりシンプルなfindAllBy/findBy

■レコードの削除

■レコードを更新するsave

3-3 モデル・クラスの拡張

■モデルのメンバ変数について

■コールバック・メソッドについて

3-4 バリデーションの利用

■バリデートの基本と実習

■validateのルール

■より複雑なバリデーション

■独自ルールの作成

3-5 複数テーブルの連携

■2つのテーブルを連携する

■CakePHPのLEFT JOIN

■hasOneによるLEFT JOIN

■belongsToによるLEFT JOIN

■hasManyによる1対多結合

■ダイナミックなバインド

3-6 掲示板システムの作成

■scaffoldでユーザ管理ツールを作る

■モデルの作成

■indexの作成

■addアクションの作成

■showの作成

■show2の作成

■editの作成

Chapter 4 開発を支援するさまざまな機能

4-1 bakeによる高速開発

■bakeとは何か?

■テーブルを作成する

■bakeを起動する

■データベース設定を作成する

■モデルの生成

■コントローラの作成

■Viewの作成

■bakeで作られたWebアプリケーションを使う

■生成されたモデルを確認する

■コントローラを確認する

■ビューを確認する

4-2 テスト環境

■ユニットテストとは

■SimpleTestを導入する

■テスト用データベースの準備

■テストの実行

■モデルのスケルトンについて

■テスト処理の実行

■ユニットテストのためのクラス

■テストのソースコードを理解する

■テストケースを作成する

■値をチェックするためのメソッド

■テスト用メソッドを書く

■テストとケースの前後処理

■テストのグループ化

■グループを作成する

4-3 ローカライゼーション

■CakePHPの翻訳機能について

■静的テキストの記述の仕方

■i18nコンソールでリソースファイルを作る

■生成されたリソースファイル

■各国語のリソースファイルを用意する

Chapter 5 ヘルパーの活用

5-1 HTMLヘルパー

■HTMLヘルパーとは?

■ヘッダー関係

■イメージタグの出力

■リンクの出力

■<p>タグの出力

■<div>タグの出力

■テーブル関係のタグの出力

■従来方式テーブルとの比較

■リスト表示タグの生成

■ナビゲート・メニューの作成

■一般的なタグの出力

5-2 ページネーション

■ページネーションとは?

■ページネーションの設定

■ページネーションによる検索

■ビューテンプレートでのPaginatorヘルパー

■ページ移動のリンクを生成する

■ページ移動のリンクを作成する

■ページ番号による表示を作成する

■ソート機能の実装

5-3 prototypeとJavaScriptヘルパー

■JavaScriptの2つのヘルパー

■prototypeとscript.aculo.usの入手

■JavaScriptのスクリプトを出力する

■イベントの組み込み

■イベントをキャッシュする

■JSONによるオブジェクトのやり取り

5-4 prototypeとAjaxヘルパー

■Ajaxによる非同期通信のリンク生成

■非同期通信のスクリプトの出力

■非同期通信のSubmitボタン生成

■Ajaxでフォームを送信し処理する

■コールバックで処理を呼び出す

■一定時間ごとに非同期通信を呼び出す

■フィールド監視と更新時の処理

■フォームの監視と更新処理

5-5 script.aculo.usとAjaxヘルパー

■Ajaxレイアウトによる独自GUIの組み込み

■編集可能なテキストの表示

■スライダーの表示

■並べ替え可能なリストの作成

■オートコンプリート機能付きフィールド

■項目のドラッグ

■項目のドロップ

5-6 その他のヘルパーについて

■Textヘルパーについて

■Numberヘルパーについて

■Timeヘルパーについて

■Sessionヘルパー

Chapter 6 コンポーネントとビヘイビア

6-1 認証コンポーネント

■コンポーネントと認証について

■USERSテーブルの作成

■Security.saltの変更

■Usersコントローラの作成

■ビューの作成

■Boardsコントローラの修正

■ユーザ登録ページのビューを作る

■登録のアクションメソッドを作る

■認証を使わないページを登録する

■ログアウトの作成

■テーブルの内容をチェックする

■エラーメッセージをカスタマイズする

■使用テーブルをカスタマイズする

■ログイン・ログアウトの表示

■ログインしたユーザの情報

■認証時の処理の追加

6-2 アクセス制御リスト

■アクセス制御リストとは?

■ACL用データベースの準備

■テーブルを確認する

■ARO情報を作成する

■ACO情報を作成する

■パーミッションの作成

■追加されたレコードを確認する

■Boardsコントローラにアクセス権を設定する

6-3 その他の主なコンポーネント

■Sessionコンポーネントについて

■Cookieコンポーネントについて

■Emailコンポーネントについて

■Securityコンポーネントについて

■RequestHandlerコンポーネントについて

6-4 ビヘイビアの利用

■ビヘイビアとは?

■Aclビヘイビアについて

■Treeビヘイビアについて

■Containableビヘイビアについて

■Translateビヘイビアについて

■Boardの投稿を多言語対応にする

Chapter 7 CakePHPの拡張

7-1 ヘルパー・コンポーネント・ビヘイビアの作成

■ヘルパーの設計

■RGBテキスト生成ヘルパーを作る

■RgbTextHelperを利用する

■ヘルパー内から他のヘルパーを利用する

■エレメントの設計

■エレメントへの値の受け渡し

■コンポーネントの設計

■コンポーネントからコントローラやモデルを使う

7-2 プロジェクトのプラグイン化とSmarytの利用

■プラグインの設計

■個人情報管理プラグインの作成

■AppコントローラとAppモデルの作成

■コントローラとモデルの作成

■Smartyをビューに利用する

■SmartyのCakePHPへの組み込み

■Smarty利用のコントローラを作成する

■レイアウトを作成する

■ビューテンプレートを作成する

PR

秀和システム