PHPフレームワーク CakePHP 3入門

概 要

Webアプリケーションの進化は速く、ほんの1~2年で陳腐化します。その猛烈なWebアプリの開発スピードを支えるフレームワークのなかで、PHPプログラマに最も人気のあるフレームワークが「CakePHP」です。本書は、CakePHPでWebアプリケーションを開発する手順や機能を解説した入門書です。最新のバージョン3系によるWebアプリ開発や、CakePHPをさらに使いやすくする拡張法など、フレームワーク未経験の方にもわかりやすく紹介します。

著者 掌田津耶乃
価格 本体2800円(税別)
ISBN 978-4-7980-4857-4
発売日 2017/1/14
判型 B5変
ページ数 512
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

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

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

サポート

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

サポート情報へのリンク

目次

Chapter 1 フレームワークとCakePHP

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

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

PHP開発とフレームワーク

CakePHPとは?

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

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

XAMPPの入手とインストール

XAMPP Control Panelについて

Webサーバー設定ファイルの修正

php設定ファイルの修正

Composerのダウンロード

CakePHPアプリケーションの作成

内蔵サーバーで実行する

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

mod_rewriteとサーバー設定について

CakePHPの構成

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

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

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

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

MVCの役割

MVCと命名規則

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

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

名前空間について

メンバ変数とindexメソッド

アクセス修飾子について

index以外へのアクセス

アクション間の移動について

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

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

2-2 レイアウトの利用と作成

レイアウトの使用

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

レイアウトを作成する

レイアウトの流れ

エレメントの利用

2-3 フォームの利用

フォームの作成

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

送信情報を管理する$this->request->query

request配列について

送信テキストのエスケープ処理

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

チェックボックス・ラジオボタンの未選択問題

POSTによる送信

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

Formヘルパー(FormHelper)を利用する

Formヘルパーの基本メソッド

コントローラを修正する

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

チェックボックスの生成

ラベルの生成

ラジオボタンの生成

選択リストの生成

複数項目を選択した場合

階層的な項目

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

日時の入力フォーム生成

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

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

なぜモデルがあるのか?

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

テーブルの基本設計

MVCの命名規則を整理する

DB Browser for SQLiteを用意する

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

テーブルを作成する

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

モデルの作成

テーブルクラスの作成

コントローラの作成

ビューの作成

HTMLヘルパーを利用する

MySQLにテーブルを用意する

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

データベース設定の修正

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

レコードを追加する

コントローラの修正

レコードの検索

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

listとthreaded

演算子を指定する

Queryのメソッド活用

レコードの並び順を設定する

動的Finderの活用

複数の項目をチェックする

レコードの削除

レコードを更新する

特定フィールドを更新する

条件に合うレコード全てを更新するupdateAll

3-3 bakeによるCRUD生成

bakeコマンドについて

テーブルを作成する

bakeコマンドを実行する

生成されるファイル

テーブルクラスをチェックする

エンティティクラスをチェックする

indexアクションについて

viewアクションについて

addアクションについて

editアクションについて

deleteアクションについて

bakeは「CRUD」を作る

Chapter 4 データベースを使いこなす

4-1 モデルの拡張

モデルのプロパティ設定について

テーブルクラスの初期化処理

データベースの設定について

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

4-2 QueryBuilderとConnectionManager

QueryBuilderとは?

検索条件を設定する「where」

ConnectionManagerの利用

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

バリデーションの基本と実習

テーブルクラスとvalidationDefault

主なバリデーションメソッド

エラーメッセージを用意する

notEmptyのエラーメッセージは変更できない?

エラーメッセージの出力について

もう1つのバリデーション(buildRulesメソッド)

コントローラでValidatorを設定する

独自ルールの作成

4-4 複数テーブルの連携

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

peopleテーブルの作成

boardsテーブルの修正

CakePHPのJOIN

hasOneによる1対1対応

Personクラスの作成

PeopleControllerを用意する

hasManyによる1対多結合

belongsToによるLEFT JOIN

ダイナミックなバインド

4-5 掲示板システムの作成

bakeでユーザー管理ツールを作る

モデルの作成

コントローラとビューの作成:indexアクション

コントローラとビューの作成:addアクション

コントローラとビューの作成:showアクション

コントローラとビューの作成:editアクション

Chapter 5 本格Web開発のための機能

5-1 HTMLヘルパー

HTMLヘルパーとは?

ヘッダー関係のメソッド

イメージタグの出力

リンクの出力

<p>タグの出力

<div>タグの出力

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

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

リスト表示タグの生成(nestedListメソッド)

ナビゲーションメニューの作成

一般的なタグの出力

5-2 ローカライゼーション

CakePHPの翻訳機能について

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

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

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

default.potの翻訳データを記述する

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

使用言語を切り替える

変数を利用する

5-3 ページネーション

ページネーションとは?

ページネーションの設定

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

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

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

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

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

ソート機能の実装(sortメソッド)

ナビゲーションリンクのカスタマイズ

5-4 テスト環境

ユニットテストとは

ユニットテストを導入する

テストの実行

bakeでテストファイルを生成する

テスト用スクリプトの構成

Fixtureスクリプトについて

Fixtureクラスの構成

独自データの追加

モデル用のTestCaseスクリプトの働き

モデルのテスト用クラス

テスト用メソッドを実装する

コントローラ用のテストクラスの内容

コントローラのテストクラス

BoardsControllerTestを実装する

テストのためのメソッド

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

アサーション利用の実際

Chapter 6 ヘルパー、コンポーネント、ビヘイビア

6-1 ヘルパーについて

CakePHPアプリケーションを拡張するプログラム

RSSヘルパー

BoardsのindexにRSSを付ける

Textヘルパーについて

Numberヘルパーについて

Timeヘルパーについて

ヘルパーの設計

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

RgbTextHelperを利用する

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

エレメントの設計

6-2 コンポーネント

フラッシュメッセージとは?

Flashコンポーネントの使い方

Flashヘルパーについて

successとerror

Flashのエレメントについて

メッセージキーを指定する

CSRFコンポーネントについて

CSRFを無効にする

Authコンポーネントと認証機能

Usersアプリケーションの作成

Authコンポーネントの設定

ログインとログアウトの作成

認証が必要ないページの設定

アクションとロールに応じた制御

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

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

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

独自のコンポーネントを作成する

DataArrayコンポーネントの作成

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

6-3 ビヘイビア

ビヘイビアとは?

Treeビヘイビアについて

NextBordsアプリケーションを作成する

NextBoardsTableの修正

addアクションの修正

親ノードと子ノードを一覧表示する

showテンプレートの作成

Translateビヘイビアについて

翻訳テーブルの準備

モデルを修正する

BoardsControllerの修正

表示を確認する

新規作成されるレコードは?

ビヘイビアを独自に作成する

ビヘイビアを利用する

findのオプション対応

Chapter 7 その他のプログラム開発

7-1 プラグイン

プラグインの設計

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

bakeでプラグインを作成する

モデルの作成

コントローラの作成

プラグインにアクセスする

プラグイン・コンポーネントの作成

プラグイン・ヘルパーの作成

ビヘイビアの作成

7-2 シェルプログラム

cakeコマンドの拡張

シェルプログラムを作る

シェルプログラムの構造

引数を渡す

不特定数の引数への対応

テーブルにアクセスする

ユーザーからの入力

メソッドの活用

タスクの利用

シェルからシェルを呼び出すdispatchShellメソッド

オプションの設定

mycmdに--dbオプションを追加する

シェルプログラムはアイデア次第!

PR

秀和システム