BEAR_Ro
[ class tree: BEAR_Ro ] [ index: BEAR_Ro ] [ all elements ]

Class: BEAR_Ro

Source Location: /BEAR/Ro.php

Class Overview

ArrayObject
   |
   --BEAR_Ro

リソースオブジェクト


Author(s):

Version:

  • SVN: Release: @package_version@ $Id:$ Ro.php 1416 2010-02-26 12:18:11Z koriyama@bear-project.net $

Copyright:

  • 2008-2011 Akihito Koriyama All rights reserved.

Implements interfaces:

Variables

Constants

Methods


Child classes:

BEAR_Ro_Prototype
リソースプロトタイプ

Inherited Constants

Class: ArrayObject (Internal Class)

ARRAY_AS_PROPS = 2
STD_PROP_LIST = 1

Inherited Methods

Class: ArrayObject (Internal Class)

constructor __construct ( $array )
append ( $value )
asort ( )
count ( )
exchangeArray ( $array )
getArrayCopy ( )
getFlags ( )
getIterator ( )
getIteratorClass ( )
ksort ( )
natcasesort ( )
natsort ( )
offsetExists ( $index )
offsetGet ( $index )
offsetSet ( $index, $newval )
offsetUnset ( $index )
serialize ( )
setFlags ( $flags )
setIteratorClass ( $iteratorClass )
uasort ( $cmp_function )
uksort ( $cmp_function )
unserialize ( $serialized )

Class Details

[line 83]
リソースオブジェクト

リソースオブジェクト

 リソースのリソースオブジェクトクラスです。
 リソースの内容とリソースに対するCRUDインターフェイスを備えています。
 ボディ情報(リソース状態)、メタ情報(リソースヘッダー)、リソースリンク、
 状態コードのプロパティを持ち、リソースの作成、読み込み、変更、削除の
 インターフェイスを持つ事ができます。

 BEAR_Resouceクラスがリソースを扱うクラスなのに対して、
 リソースとして扱われるがこのクラスのオブジェクトです。
 CSVファイルなどのスタティックリソースや、外部RSS等のリモートリソースも
 このリソースオブジェクトに変換されて扱われます。

 このオブジェクトはHTTP通信の仕組みそのものにも似ています。
 ヘッダーとボディを持ち、POST/GET/PUT/DELETEに対応する
 インターフェイス(onCreate, onRead, onUpdate, onDelete)を持ちます。
 このオブジェクトそのものをHTTP出力することができます。x
 ml/json/phpなどのフォーマットを指定して
 outputHttp()メソッドを使うとそのままHTTP出力されます。

 Example. オブジェクト格納例)DBページャーの結果RO

 ボディ : ページングされたデータ
 ヘッダー: 件数や現在の表示ページ番号などのメタ情報
 リンク : 次ページリンクHTML
 コード  : 200(OK)

 以下は指定したフォーマットで時間を取得できるmyTimeリソースの実装例です。
  1.  class myTime extends BEAR_Ro
  2.  {
  3.    public function onRead($values){
  4.       $format $values['format'];
  5.       retruen date($format);
  6.    }
  7.  }
 ※ 時間は削除、変更、作成はできないのでreadメソッドだけが実装されています。
 ※ returnのフォーマットは2種類あります。
 RAWデータ(配列やスカラー値)かリソースオブジェクトです。

 データだけを返せば十分なときはRAWデータでデータにヘッダーやリンクなどの
 属性情報をつけて返したい場合はリソースオブジェクト(BEAR_ROオブジェクト)
 で返します。




Tags:

author:  Akihito Koriyama <koriyama@bear-project.net>
version:  SVN: Release: @package_version@ $Id:$ Ro.php 1416 2010-02-26 12:18:11Z koriyama@bear-project.net $
copyright:  2008-2011 Akihito Koriyama All rights reserved.
link:  http://www.bear-project.net/
license:  BSD


[ Top ]


Class Variables

$_config = array()

[line 155]

コンフィグ

コンフィグ




Tags:

access:  protected

Type:   array


[ Top ]



Class Methods


method assert [line 272]

void assert( bool $bool, [array $msg = 'Bad Resource Request (assert)'])

シンプルアサーション

シンプルアサーション

 単純なboolean値を引数にしてfalseの時は例外を投げ、
 リソースの結果は400エラー(Bad Request)のリソースオブジェクト(BEAR_Roオブジェクト)になります。
 onRead, onCreateなどCRUDメソッドに値が正しく渡されているか確認するために使用します。
 再利用のためにAOPアドバイスですることも検討してください。




Tags:

throws:  BEAR_Ro_Exception
access:  public


Parameters:

bool   $bool   条件
array   $msg   エラー例外のinfo

[ Top ]

method assertRequired [line 299]

void assertRequired( $keys, array $values)

必須項目アサーション

必須項目アサーション

 連想配列に指定のキー配列が全て含まれてるか検査し、問題があれば例外を投げます。
 リソースの結果は400エラー(Bad Request)のリソースオブジェクト(BEAR_Roオブジェクト)になります。
 onRead, onCreateなどCRUDメソッドに値が正しく渡されているか確認するために使用します。




Tags:

deprecated:  @requierdを用います。
throws:  BEAR_Exception
access:  public


Parameters:

array   $keys   必須キー配列
array   $values   テストする配列

[ Top ]

constructor __construct [line 162]

BEAR_Ro __construct( $config)

Constructor

Constructor




Tags:

access:  public


Overrides ArrayObject::constructor __construct ( $array ) (parent method not documented)

Parameters:

array   $config  

[ Top ]

method count [line 694]

int count( )

count取得

count取得 arrayとして振舞うための実装です。




Tags:

access:  public


Overrides ArrayObject::count ( ) (parent method not documented)

[ Top ]

method getBody [line 317]

mixed getBody( )

リソースボディの取得

リソースボディの取得 ボディ(リソース取得結果本体)を取得します。




Tags:

access:  public


Overridden in child classes as:

BEAR_Ro_Prototype::getBody()
リソースボディを取得


Implementation of:
BEAR_Ro_Interface::getBody()
リソースボディの取得
[ Top ]

method getCode [line 467]

int getCode( )

コードの取得

コードの取得




Tags:

return:  (200|400|500)
access:  public



Implementation of:
BEAR_Ro_Interface::getCode()
状態コードの取得
[ Top ]

method getConfig [line 795]

array getConfig( [ $key = null])

コンフィグ取得

コンフィグ取得




Tags:

access:  public


Parameters:

   $key  

[ Top ]

method getHeader [line 337]

array getHeader( $headerKey)

リソースヘッダーの取得

リソースヘッダーの取得




Tags:

access:  public


Overridden in child classes as:

BEAR_Ro_Prototype::getHeader()
リソースヘッダーを取得(アイテム)

Parameters:

   $headerKey  

[ Top ]

method getHeaders [line 327]

array getHeaders( )

リソースヘッダーの取得

リソースヘッダーの取得




Tags:

access:  public


Overridden in child classes as:

BEAR_Ro_Prototype::getHeaders()
リソースヘッダーを取得(リスト)


Implementation of:
BEAR_Ro_Interface::getHeaders()
リソースヘッダーの取得
[ Top ]

method getHtml [line 852]

string getHtml( )

HTML取得

HTML取得




Tags:

access:  public


[ Top ]

method getIterator [line 663]

IteratorAggregate getIterator( )

イテレーター

イテレーター optionsで指定したイテレーター、もしくはdefaultのArrayIteratorが使用されます




Tags:

access:  public



Implementation of:
IteratorAggregate::getIterator
Overrides ArrayObject::getIterator ( ) (parent method not documented)

[ Top ]

method getIterator1 [line 679]

Traversable getIterator1( )

Create a new iterator from an ArrayObject instance

Create a new iterator from an ArrayObject instance




Tags:

access:  public


[ Top ]

method getLinks [line 350]

array getLinks( )

リソースリンクの取得

リソースリンクの取得 リソースのリンクを取得します。




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::getLinks()
リソースリンクの取得
[ Top ]

method getRo [line 842]

App_Ro getRo( )

Ro取得

Ro取得 link()がついてるリソースでもgetRo()で取得されるのは最初のリソースです。




Tags:

access:  public


Overridden in child classes as:

BEAR_Ro_Prototype::getRo()
Ro取得

[ Top ]

method onCreate [line 191]

mixed onCreate( array $values)

リソース作成

リソース作成 リソースを作成します。このメソッドはキャッシュオプションが使えます。




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::onCreate()
リソース作成

Parameters:

array   $values   引数

[ Top ]

method onDelete [line 238]

mixed onDelete( array $values)

リソース消去

リソース消去 リソースを消去します。このメソッドはPOEオプション (一度だけ実行する)オプションが使えます。




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::onDelete()
リソース削除

Parameters:

array   $values   引数

[ Top ]

method onInject [line 177]

void onInject( )

Inject

Inject




Tags:

access:  public


Overridden in child classes as:

BEAR_Ro_Prototype::onInject()
Inject
BEAR_Ro_Prototype_Debug::onInject()
Inject

[ Top ]

method onLink [line 251]

array onLink( array $values)

リンク

リンク




Tags:

access:  public


Parameters:

array   $values  

[ Top ]

method onRead [line 206]

mixed onRead( array $values)

リソース読み込み

リソース読み込み オプションにcacheが使えます




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::onRead()
リソース読み込み

Parameters:

array   $values   引数

[ Top ]

method onUpdate [line 222]

mixed onUpdate( array $values)

リソース変更

リソース変更 リソースを変更します。このメソッドはPOEオプション (一度だけ実行する)オプションが使えます。




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::onUpdate()
リソース変更

Parameters:

array   $values   引数

[ Top ]

method outputHttp [line 548]

void outputHttp( )

HTTP出力

HTTP出力

 BEAR_RoリソースオブジェクトをHTTP出力します。
 _codeプロパティがレスポンスコード、_header配列プロパティのうち
 文字列のものがHTTPヘッダー,_bodyプロパティがHTTPボディとして出力されます。




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::outputHttp()
HTTP出力
[ Top ]

method set [line 756]

BEAR_Ro set( [string $key = null], array $config)

ビューにセット

ビューにセット readの後ろにつなげて使います。

 $config
 'pager' string ページャーをアサインする変数名
 'ro'    bool   ROアサイン
  1.  $resource->$read($params)->set('user');




Tags:

access:  public


Overridden in child classes as:

BEAR_Ro_Prototype::set()
リソースセット

Parameters:

string   $key   テンプレート変数名 省略すればURI(/を_に置換)
array   $config   設定

[ Top ]

method setBody [line 364]

BEAR_Ro setBody( mixed $body)

リソースボディをセット

リソースボディをセット リソースのボディ(リソース結果)をセットします。




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::setBody()
リソースボディをセット

Parameters:

mixed   $body   ボディ

[ Top ]

method setCode [line 452]

BEAR_Ro setCode( int $code)

状態コード設定

状態コード設定




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::setCode()
状態コード設定

Parameters:

int   $code   コード

[ Top ]

method setConfig [line 780]

BEAR_Ro setConfig( mixed $config, [mixed $values = null])

Set config

Set config




Tags:

access:  public


Parameters:

mixed   $config   (string)コンフィグキー | (array)コンフィグ配列
mixed   $values   (string)$configの時のコンフィグ値

[ Top ]

method setHeader [line 394]

BEAR_Ro setHeader( string $key, string $header)

リソースヘッダーセット

リソースヘッダーセット

 キーを指定してリソースヘッダーをセットします。
 予約済みキーはこのクラスのconstとして定義されています。




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::setHeader()
リソースヘッダーセット

Parameters:

string   $key   ヘッダーキー
string   $header   ヘッダー

[ Top ]

method setHeaders [line 407]

BEAR_Ro setHeaders( $headers)

ヘッダーのセット

ヘッダーのセット




Tags:

access:  public


Parameters:

array   $headers   ヘッダー配列

[ Top ]

method setHtml [line 375]

BEAR_Ro setHtml( $html)

リソースHTMLの指定

リソースHTMLの指定




Tags:

access:  public


Parameters:

   $html  

[ Top ]

method setLink [line 426]

BEAR_Ro setLink( string $key, string $link)

リンクのセット

リンクのセット

 リソースリンクをセットします。
 予約済みキーはこのクラスのconstとして定義されています。




Tags:

access:  public



Implementation of:
BEAR_Ro_Interface::setLink()
リンクのセット

Parameters:

string   $key   リンクキー
string   $link   リンク

[ Top ]

method setLinks [line 439]

BEAR_Ro setLinks( array $links)

リンクをセット

リンクをセット




Tags:

access:  public


Parameters:

array   $links   リンク

[ Top ]

method setService [line 812]

void setService( string $name, object $service)

サービスセット

サービスセット




Tags:

access:  public


Parameters:

string   $name   プロパティ
object   $service   サービス

[ Top ]

method toString [line 484]

string toString( )

リソースの文字列化

リソースの文字列化

 変数状態のリソース(body)にテンプレートを適用して文字列化します。
 テンプレート指定がない場合、スカラー値ならそのまま、スカラー値でないなら''になります。
 プロトタイプリソース(リクエストをまだ行っていないリソース)の場合は実リクエストを行った後に文字列化を行います。
 このメソッドはRoクラスのマジックメソッドとして機能します。




Tags:

access:  public


[ Top ]

method _exception [line 825]

Exception _exception( string $msg, $config)

例外の作成

例外の作成




Tags:

access:  protected


Parameters:

string   $msg  
array   $config  

[ Top ]

method __invoke [line 530]

BEAR_Ro __invoke( $values)

関数としての振る舞い

関数としての振る舞い




Tags:

access:  public


Parameters:

array   $values  

[ Top ]

method __toString [line 515]

string __toString( )

マジックメソッド - 文字列化

マジックメソッド - 文字列化




Tags:

access:  public


[ Top ]


Class Constants

CODE_BAD_REQUEST =  400

[line 94]

コード Bad Request

コード Bad Request



[ Top ]

CODE_ERROR =  500

[line 99]

コード Internal Error

コード Internal Error



[ Top ]

CODE_OK =  200

[line 89]

コード OK

コード OK



[ Top ]

CONFIG_PAGER =  'pager'

[line 104]

set() configキー

set() configキー



[ Top ]



Documentation generated on Sat, 30 Jul 2011 00:11:52 +0900 by phpDocumentor 1.4.3