forge($presenter, $method = 'view', $auto_filter = null, $view = null)
forge メソッドは新しい Presenter オブジェクトを返します。
静的 | はい | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
|||||||||||||||
返り値 | 新しい Presenter オブジェクト | |||||||||||||||
例 |
|
Presenter クラスは "ビュー" へのオブジェクトラッパーとして振る舞い、ビューに関連するすべてのロジックを抽象化し、 コントローラから分離するために使われます。プレゼンタの使用法についての詳細をお読み下さい。 コントローラのようにプレゼンタも before() と after() メソッドをサポートしますので、ビューの準備のための全般的なコードのために使えます。
forge メソッドは新しい Presenter オブジェクトを返します。
静的 | はい | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
|||||||||||||||
返り値 | 新しい Presenter オブジェクト | |||||||||||||||
例 |
|
get_view メソッドはプレゼンタに関連するビューのインスタンスを返します。
静的 | いいえ |
---|---|
パラメータ | なし |
返り値 | 関連するビューオブジェクト |
例 |
|
view メソッドはプレゼンタがレンダリングされる際に呼ばれるデフォルトのメソッドです。ビューのレンダリングの準備のためのロジックを含みます。
静的 | いいえ |
---|---|
パラメータ | なし |
例 | Presenter の概要ページを参照してください。 |
プレゼンタは、ビューを生成するための複数のロジックの集合が必要な場合に使う、複数の準備メソッドを持つことができます。 例えば、ヘッダとフッタなしのビューを生成する独自メソッド、あるいは、モバイルデバイスに最適化されたビューを生成するメソッドを持てます。 プレゼンタは、コントローラをジェネリックに保ち、プレゼンタにより生成される出力がどうあるべきかを知る必要をなくすこくとができます。
The set_view method can be used to change the View associated with the presenter.
Static | No | ||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Example |
|
When you use this method, any variables set on or bound to the original View object will be transferred to the new View.
Presenter クラスは、コードの中で、ビュークラスと取り換え可能です。これは、もし、ビューで始めてその後、追加のビューの準備ロジックの必要性を感じ、 プレゼンタを使いたくなったら、 ビューを forge する代わりにプレゼンタを forge する以外、 コントローラのコードを変更する必要はないことを意味します。
そのため、プレゼンタは関連するビューの set()、set_safe()、bind()、auto_filter() そして render() メソッドを見えるようにしています。 関連するビューオブジェクトのプロパティにアクセスしセットするマジックゲッターおよびセッターを持っています。
プレゼンタは、静的メソッド set_global() と bind_global() をサポートしません。もし、ビューにグローバル変数が必要な場合は、 View クラスでそれらをセットしなければなりません。プレゼンタにとっては、それは透過的です。
もしあなたがプレゼンタを拡張し、プレゼンタオブジェクトが生成された後もビューインスタンスと交換可能にしたい場合、 プレゼンタはデータコンテナを持っていないことを知ってください。代わりに関連するビューオブジェクトを全てのデータを保存するために使っています。これは、 もしビューオブジェクトを新しい何かに交換すれば、あなたは、そこにセットされているすべての変数を失うことを意味します!