CakePHP プログラマーズ リファレンスガイド

Rapid Development フレームワーク

Cake Software Foundation Inc.

*** 注)これは、1.1用のマニュアルです。1.2用の最新版マニュアルは http://book.cakephp.org/ja/にあります。***

Author and Editor: John Anderson

Author and Technical Editor: Larry E Masters

Version 1.x.x.x (Incomplete) / Japanese Translation by 堂園俊郎(Shunro Dozono) [(株)コミュニケーションビジネスアヴェニュー]

This work is licensed under the NEED TO CHOOSE LICENSE; you can see the full terms of the license here.

これは公式マニュアルです。

These conditions may only be waived with prior consent from the Cake Software Foundation Inc..

Revision History
Revision 0.1 $Date: 2006-06-20 08:16:48 +0100 (ter, 20 Jun 2006) $

Pre-release Preview

Abstract

これは公式 CakePHP マニュアルです。


内容

前書き
1. 読者対象
2. CakePHP は無料です。
3. コミュニティ
1. CakePHPの紹介
1.1. CakePHP とは
1.2. なぜ CakePHP か
1.3. CakePHP の歴史
2. 基本コンセプト
2.1. はじめに
2.2. MVC パターン
2.3. Cake ファイル配置の概要
3. CakePHP のインストール
3.1. はじめに
3.2. 必要なもの
3.2.1. 必要なサーバ
3.3. CakePHP のインストール
3.3.1. 最新の安定版を手に入れる
3.3.2. 解凍
3.4. CakePHP のセットアップ
3.4.1. 開発用セットアップ
3.4.2. 公開用セットアップ
3.4.3. 高度なセットアップ:その他のインストール方法
3.5. Apache と mod_rewrite の設定
3.6. 動作の確認
4. 設定
4.1. データベースの設定
4.2. グローバル設定
4.3. Routes の設定
4.4. 高度な Routing 設定: Admin Routing と Webservices
4.5. (任意) カスタム Inflections 設定
5. Scaffolding(足場組み)
5.1. Cake の Scaffolding はかなりクール
5.2. Scaffold ビューのカスタマイズ
6. モデル
6.1. モデルとは
6.2. モデルの関数
6.2.1. ユーザ設定による関数
6.2.2. データを取り出す
6.2.3. データを保存する
6.2.4. モデルのコールバック
6.3. モデルの変数
6.4. アソシエーション
6.4.1. はじめに
6.4.2. hasOne の定義と問い合わせ
6.4.3. belongsTo の定義と問い合わせ
6.4.4. hasMany の定義と問い合わせ
6.4.5. hasAndBelongsToMany の定義と問い合わせ
6.4.6. hasAndBelongsToMany の保存
7. コントローラ
7.1. コントローラとは
7.2. コントローラの関数
7.2.1. ビューとのやりとり
7.2.2. ユーザリダイレクト
7.2.3. コントローラのコールバック
7.2.4. その他の便利な関数
7.3. コントローラの変数
7.4. コントローラのパラメータ
8. ビュー
8.1. ビュー
8.1.1. レイアウト
8.1.2. エレメント
9. コンポーネント
9.1. プレゼンテーション
9.2. 自作方法
9.3. コンポーネントを公開する
10. ヘルパー
10.1. ヘルパー
10.1.1. HTML
10.1.2. AJAX
10.1.3. Javascript
10.1.4. Number
10.1.5. Text
10.1.6. Time
10.1.7. Cache
10.2. ヘルパーを作成する
10.2.1. Cake のヘルパークラスを拡張する
10.2.2. 他のヘルパーを含める
10.2.3. カスタムヘルパーを使用する
10.2.4. コントリビュート
11. Cake のグローバル定数とグローバル関数
11.1. グローバル関数
11.2. CakePHP コアで定義された定数
11.3. CakePHP パスの定数
11.4. CakePHP Webroot設定のパス
12. データバリデーション
12.1. データバリデーション
13. プラグイン
13.1. プラグインの作成
13.2. プラグインコントローラ
13.3. プラグインモデル
13.4. プラグインビュー
13.5. プラグインを使用する
14. アクセスコントロールリスト(ACL)
14.1. ACL の動作を理解する
14.2. パーミッションの定義: Cake の INI-ベース ACL
14.3. パーミッションの定義: Cake のデータベース ACL
14.3.1. はじめに
14.3.2. アクセスリクエストオブジェクト (AROs) とアクセスコントロールオブジェクト (ACOs)
14.3.3. パーミッションの割り当て
14.4. パーミッションのチェック: ACL コンポーネント
15. データのサニタイズ
15.1. アプリケーションでサニタイズを利用する
15.2. SQL と HTML で使用するデータを安全にするには
16. Cake セッションコンポーネント
16.1. Cake セッション保存オプション
16.2. Cake セッションコンポーネントを使用する
17. リクエストハンドラコンポーネント
17.1. はじめに
17.2. クライアント/リクエスト情報を取る
17.3. データの Stripping
17.4. その他の便利な関数
18. セキュリティコンポーネント
18.1. はじめに
18.2. コントローラアクションの保護
18.3. 不正なリクエストの処理
18.4. 高度なリクエスト認証
19. ビューのキャッシュ
19.1. 概要
19.2. 動作の解説
19.2.1. キャッシュを作動させる
19.2.2. $cacheAction コントローラ変数
19.2.3. ビューの内容に指示を書く
19.2.4. キャッシュをクリアする
19.3. 注意事項
A. Cake ブログチュートリアル
A.1. はじめに
A.2. Cakeの入手
A.3. ブログデータベースの作成
A.4. Cake のデータベース設定
A.5. mod_rewrite について
A.6. Post Model の作成
A.7. Posts Controller の作成
A.8. Post Views の作成
A.9. Posts の追加
A.10. データバリデーション
A.11. Posts の削除
A.12. Posts の編集
A.13. Routes(ルート)
A.14. まとめ
B. 例:簡単なユーザ認証
B.1. 概略
B.2. 認証と継続チェック
B.3. アプリケーションでのアクセスチェック
C. Cake 規約
C.1. 規約?
C.2. ファイル名
C.3. モデル(Models)
C.4. コントローラ(Controllers)
C.5. ビュー(Views)
C.6. ヘルパー(Helpers)
C.7. コンポーネント(Components)
C.8. ベンダ(Vendors)

表の一覧

6.1. Model::recursive オプション

サンプルの一覧

3.1. 公開用の httpd.conf 案
3.2. /app/webroot/index.php (一部、コメントを除いてある)
4.1. app/config/database.php
4.2. Route のパターン
4.3. Route の例
4.4. コントローラ内での Route ハンドリング
4.5. デフォルトの Route 設定
4.6. /app/config/core.php (一部)
4.7. messages_controller.php
5.1. 単一のコントローラ用のカスタム Scaffolding ビュー
5.2. アプリケーション全体用のカスタム Scaffolding ビュー
6.1. User モデルの例、/app/models/user.php に保存
6.2. Model 関数の例
6.3. query() を使用したカスタム Sql コール
6.4. /app/models/user.php hasOne
6.5. /app/models/profile.php belongsTo
6.6. /app/models/user.php hasMany
6.7. HABTM Join テーブル:サンプルモデルと join テーブルの名前
6.8. /app/models/post.php hasAndBelongsToMany
6.9. posts 作成のための /app/views/posts/add.thtml フォーム
6.10. /app/views/posts/add.thtml (タグアソシエーションのコードを追加)
8.1. パラメータをつけずに Element を呼ぶ
8.2. データ配列を渡して Element を呼ぶ
9.1. シンプルなコンポーネント
10.1. NotesController の Edit アクションの内部
10.2. Edit ビューのコード (edit.thtml) 例
10.3. モデルを保存する前に、 time データを連結する(NotesController からの一部分)
10.4. AjaxHelper $options Keys
10.5. /app/views/helpers/link.php
10.6. /app/views/helpers/link.php (ロジック追加)
10.7. /app/views/helpers/link.php (他のヘルパーの使用)
12.1. /app/models/user.php
12.2. /app/models/blog_controller.php のフォームを扱うアクション
12.3. /app/views/blog/add.thtml の add フォームのビュー
13.1. ピザ注文ファイルシステムのレイアウト
13.2. ピザプラグイン AppController: /app/plugins/pizza_app_controller.php
13.3. ピザプラグイン AppModel: /app/plugins/pizza_app_model.php
13.4. /app/plugins/pizza/controllers/pizza_orders_controller.php
13.5. /app/plugins/pizza/models/pizza_order.php
13.6. /app/plugins/pizza/views/pizza_orders/index.thtml
14.1. acl.php を使用してデータベースを初期化
16.1. core.php セッション設定
19.1. /app/config/core.php (一部)
19.2.
19.3. $cacheAction 例
19.4.
19.5.
A.1. /app/models/post.php
A.2. /app/controllers/posts_controller.php
A.3. /app/controllers/posts_controller.php (index アクションの追加)
A.4. /app/views/posts/index.thtml
A.5. /app/controllers/posts_controller.php (view アクションの追加)
A.6. /app/views/posts/view.thtml
A.7. /app/controllers/posts_controller.php (add アクションの追加)
A.8. /app/views/posts/add.thtml
A.9. /app/models/post.php (バリデーション配列の追加)
A.10. /app/controllers/posts_controller.php (delete アクションのみ)
A.11. /app/views/posts/index.thtml (add と delete のリンクの追加)
A.12. /app/controllers/posts_controller.php (edit アクションのみ)
A.13. /app/views/posts/edit.thtml
A.14. /app/views/posts/index.thtml (edit リンクの追加)
B.1. テーブル 'users', 架空のクライアントマネージメントシステムのデータベース
B.2. /app/views/users/login.thtml
B.3. /app/controllers/users_controller.php (一部)
B.4. /app/app_controller.php
B.5. controller のすべてのアクションの前に認証を行わせる
B.6. 単一の controller アクションの前に認証を行わせる