Table of Contents : マニュアル
- 1 CakePHPの基本原則
- 2 CakePHPによる開発
- 2.1 必要なもの
- 2.2 インストールの準備
- 2.3 インストール
- 2.4 環境設定
- 2.5 Controllers
- 2.5.1 Introduction
- 2.5.2 Controller Attributes
- 2.5.3 Controller Methods
- 2.6 Components
- 2.7 Models
- 2.7.1 Introduction
- 2.7.2 Automagic Model Fields
- 2.7.3 Model Attributes
- 2.7.4 Model Methods
- 2.7.5 Associations
- 2.7.6 DataSources
- 2.7.7 Behaviors
- 2.8 Views
- 2.9 Helpers
- 2.10 Scaffolding
- 2.11 The CakePHP Console
- 2.12 Code Generation with Bake
- 2.13 Plugins
- 2.14 Global Constants and Functions
- 3 Common Tasks With CakePHP
- 3.1 Data Validation
- 3.1.1 Simple Rules
- 3.1.2 One Rule Per Field
- 3.1.3 Multiple Rules per Field
- 3.1.4 Built-in Validation Rules
- 3.1.4.1 alphaNumeric
- 3.1.4.2 between
- 3.1.4.3 blank
- 3.1.4.4 cc
- 3.1.4.5 comparison
- 3.1.4.6 date
- 3.1.4.7 decimal
- 3.1.4.8 email
- 3.1.4.9 equalTo
- 3.1.4.10 extension
- 3.1.4.11 file
- 3.1.4.12 ip
- 3.1.4.13 isUnique
- 3.1.4.14 minLength
- 3.1.4.15 maxLength
- 3.1.4.16 money
- 3.1.4.17 multiple
- 3.1.4.18 numeric
- 3.1.4.19 phone
- 3.1.4.20 postal
- 3.1.4.21 range
- 3.1.4.22 ssn
- 3.1.4.23 url
- 3.1.5 Custom Validation Rules
- 3.1.6 Validating Data from the Controller
- 3.2 Data Sanitization
- 3.3 Error Handling
- 3.4 Debugging
- 3.5 Caching
- 3.6 Logging
- 3.7 Testing
- 3.8 Localization & Internationalization
- 3.9 Pagination
- 3.1 Data Validation
- 4 組み込みのコンポーネント
- 4.1 Access Control Lists
- 4.2 Authentication
- 4.3 Sessions
- 4.4 Benefits
- Responding To Requests
- 4.6 Basic HTTP Authentication
- 4.7 Controller
- 6 組み込みのヘルパー
- 6.1 フォーム
- 6.1.1 フォームの作成
- 6.1.2 フォームの終了
- 6.1.3 Closing the Form
- 6.1.3.1 Automagic Form Elements
- 6.1.3.2 $options[‘type’]
- 6.1.3.3 $options[‘before’], $options[‘between’] and $options[‘after’]
- 6.1.3.4 $options[‘options’]
- 6.1.3.5 $options[‘multiple’]
- 6.1.3.6 $options[‘maxLength’]
- 6.1.3.7 $options[‘div’]
- 6.1.3.8 $options[‘label’]
- 6.1.3.9 $options[‘id’]
- 6.1.3.10 $options[‘error’]
- 6.1.3.11 $options[‘selected’]
- 6.1.3.12 $options[‘rows’], $options[‘cols’]
- 6.1.3.13 $options[‘empty’]
- 6.1.3.14 $options[‘timeFormat’]
- 6.1.4 $options[‘dateFormat’]
- 6.1.5 File Fields
- 6.2 Form Element-Specific Methods
- 6.3 XML
- 6.4 Inserting Well-Formatted elements
- 6.5 Methods
- 6.6 Methods
- 6.7 Clearing the Cache
- 6.8 Form
- 6.9 format
- 6.10 Text
- 6.1 フォーム
- 7 Testing Time
- 8 CakePHPブログチュートリアル
- 9 Conclusion
- 10 Simple User Authentication
CakePHPの典型的なリクエスト
CakePHPの基本的な構成要素について既に考えました。ここからは、基本的なリクエストがあった場合、個々のオブジェクトがそれをどう処理して完結させるのか、ということを調べてみましょう。前からの例として、我らのリカルドさんが、CakePHPアプリケーションの「特注ケーキを今すぐ購入!」というリンクをクリックしたとしましょう。
IMAGE
図2 よくあるCakeリクエスト
黒 = 必要な要素、灰色 = 任意の要素、青 = コールバック
- リカルドさんがリンクをクリックすると、それはhttp://www.example.com/cakes/buyを指しており、ブラウザは、Webサーバにリクエストを送信します。
- Routerが、URLを解析(parse)し、このリクエストのパラメータを取り出します。このリクエストにおいてビジネスロジックに影響するコントローラ、アクション、その他の引数などです。
- routesによって、リクエストされたURLは、コントローラのアクション(コントローラクラスの中にあるメソッド)にマップされます。この場合は、CakesControllerのbuy()メソッドです。コントローラのアクションロジックが実行される前には、コントローラのbeforeFilter()コールバックが呼ばれます。
- コントローラは、アプリケーションのデータを取り出すためにモデルを使用することができます。この例では、リカルドさんの最新の購入履歴をデータベースから取得するため、コントローラがモデルを使用します。この操作で、該当するモデルのコールバック、ビヘイビア、データソースが動作します。モデルは使用しなくてもかまいませんが、CakePHPのすべてのコントローラは、初期状態では少なくともひとつのモデルを使用する設定になっています。
- モデルがデータを取得すると、それはコントローラに送られます。モデルのコールバックが設定されていれば、それが動作します。
- コントローラはコンポーネントを使用して、データをさらに調整したり、その他の操作(セッション操作、認証、Eメールの送信など)を行ったりすることができます。
- コントローラがモデルとコンポーネントを使用してデータを準備し終えると、データは、コントローラのset()メソッドを使用することで、ビューに渡されます。データが送信される前に、コントローラのコールバックがあれば実行されます。ビューのロジックが動作すると、エレメントやヘルパーなどがあれば使用されます。デフォルトでは、ビューは、レイアウト(layout)の内側に表示されます。
- コントローラのその他のコールバック(afterFilterなど)があれば、実行されます。完全に表示されたコードは、リカルドさんのブラウザに表示されることになります。

login to add a comment