Constants

CODE_OK

CODE_OK

コード OK

CODE_BAD_REQUEST

CODE_BAD_REQUEST

コード Bad Request

CODE_ERROR

CODE_ERROR

コード Internal Error

CONFIG_PAGER

CONFIG_PAGER

set() configキー

Properties

$_config

$_config : array

コンフィグ

Type

array

$_stack

$_stack : string

リソースプロトタイプスタック

Type

string

$_chainLink

$_chainLink : array

リソースリンク

フォーマット

$_chainLink[] = array('link1');
$_chainLink[] = array('link2', 'link3');

Type

array

$_prototypeLink

$_prototypeLink : mixed

BEAR_Ro_Prototype_Link

Type

mixed

$_setOption

$_setOption : array

setオプション

Type

array

$_ro

$_ro : \BEAR_Ro

取得したRo

Type

\BEAR_Ro

$_body

$_body : mixed

ボディ

Type

mixed

$_headers

$_headers : array

メタ情報

Type

array

$_links

$_links : array

リンク情報

Type

array

$_html

$_html : string

HTML(文字列)

Type

string

$_code

$_code : integer

状態コード

Type

integer — BEAR::CODE_OK | BEAR::CODE_BAD_REQUEST | BEAR::CODE_ERROR

$_page

$_page : mixed

ページ

デフォルトではレジストリのpage(カレントのページ)

Type

mixed

Methods

__construct()

__construct(array  $config) 

Constructor

Parameters

array $config

onInject()

onInject() : void

Inject

onCreate()

onCreate(array  $values) : mixed

リソース作成

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

Parameters

array $values

引数

Returns

mixed

onRead()

onRead(array  $values) : mixed

リソース読み込み

オプションにcacheが使えます

Parameters

array $values

引数

Returns

mixed

onUpdate()

onUpdate(array  $values) : mixed

リソース変更

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

Parameters

array $values

引数

Returns

mixed

onDelete()

onDelete(array  $values) : mixed

リソース消去

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

Parameters

array $values

引数

Returns

mixed

onLink()

onLink(array  $values) : array

リンク

Parameters

array $values

Returns

array

assert()

assert(boolean  $bool, string  $msg = 'Bad Resource Request (assert)') : void

シンプルアサーション

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

Parameters

boolean $bool

条件

string $msg

エラー例外のinfo

Throws

\Exception

assertRequired()

assertRequired(array  $keys, array  $values) : void

必須項目アサーション

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

Parameters

array $keys

必須キー配列

array $values

テストする配列

Throws

\BEAR_Exception

getBody()

getBody(boolean  $link = false) : array|mixed

リソースボディを取得

リソースリクエストを行いその結果のボディを返します。

Parameters

boolean $link

Returns

array|mixed

getHeaders()

getHeaders() : array

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

リソースリクエストを行いその結果のヘッダーを返します。

Returns

array

getHeader()

getHeader(  $headerKey) : null

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

リソースリクエストを行いその結果のヘッダーを返します。

Parameters

$headerKey

Returns

null

getLinks()

getLinks() : array

リソースリンクの取得

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

Returns

array

setBody()

setBody(mixed  $body) : \BEAR_Ro

リソースボディをセット

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

Parameters

mixed $body

ボディ

Returns

\BEAR_Ro

setHtml()

setHtml(  $html) : \BEAR_Ro

リソースHTMLの指定

Parameters

$html

Returns

\BEAR_Ro

setHeader()

setHeader(string  $key, string  $header) : \BEAR_Ro

リソースヘッダーセット

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

Parameters

string $key

ヘッダーキー

string $header

ヘッダー

Returns

\BEAR_Ro

setHeaders()

setHeaders(array  $headers) : \BEAR_Ro

ヘッダーのセット

Parameters

array $headers

ヘッダー配列

Returns

\BEAR_Ro

setLink()

setLink(string  $key, string  $link) : \BEAR_Ro

リンクのセット

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

Parameters

string $key

リンクキー

string $link

リンク

Returns

\BEAR_Ro

setLinks()

setLinks(array  $links) : \BEAR_Ro

リンクをセット

Parameters

array $links

リンク

Returns

\BEAR_Ro

setCode()

setCode(integer  $code) : \BEAR_Ro

状態コード設定

Parameters

integer $code

コード

Returns

\BEAR_Ro

getCode()

getCode() : integer

コードの取得

Returns

integer —

(200|400|500)

toString()

toString() : string

リソースの文字列化

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

Returns

string

__toString()

__toString() : string

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

Returns

string

__invoke()

__invoke(array  $values) : mixed

関数としての振る舞い

Parameters

array $values

Returns

mixed

outputHttp()

outputHttp() : void

HTTP出力

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

getIterator()

getIterator() : \IteratorAggregate

イテレーター

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

Returns

\IteratorAggregate

getIterator1()

getIterator1() : \Traversable

Create a new iterator from an ArrayObject instance

Returns

\Traversable

count()

count() : integer

count取得

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

Returns

integer

set()

set(string  $key = null, string  $setOption = 'value') : \BEAR_Ro_Prototype

リソースセット

プロトタイプリソースをpageにsetします。$setOptionsでセットのオプションを指定します。

Parameters

string $key

リソースキー

string $setOption

セットオプション

Returns

\BEAR_Ro_Prototype

setConfig()

setConfig(mixed  $config, mixed  $values = null) : \BEAR_Ro

Set config

Parameters

mixed $config

(string) コンフィグキー | (array) コンフィグ配列

mixed $values

(string) $configの時のコンフィグ値

Returns

\BEAR_Ro

getConfig()

getConfig(null  $key = null) : array|mixed

コンフィグ取得

Parameters

null $key

Returns

array|mixed

setService()

setService(string  $name, object  $service) : void

サービスセット

Parameters

string $name

プロパティ

object $service

サービス

getRo()

getRo() : \BEAR_Ro

Ro取得

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

Returns

\BEAR_Ro

getHtml()

getHtml() : string

HTML取得

Returns

string

pop()

pop() : array

スタックされたRoプロトタイプを1つ取り出す

Returns

array

popAll()

popAll() : array

スタックされたRoプロトタイプを全て取り出す

Returns

array

countStack()

countStack() : integer

Roプロトタイプのスタックの数の取得

Returns

integer

link()

link(mixed  $link) : \BEAR_Ro_Prototype

リソースリンクを取得

リソースのリンクを取得します。 リンクはリンクキーをキーにリンクURIを値にした配列をROリソースの中のonLinkメソッドで返す事で実現できます。

Parameters

mixed $link

Returns

\BEAR_Ro_Prototype

request()

request() : \BEAR_Ro

リソースリクエスト実行

Returns

\BEAR_Ro

getValue()

getValue() : mixed

値を取得

リソースリクエストを行いテンプレートオプションが適用した文字列が、 そうでなければリソースボディを返します。

Returns

mixed

requestOnShutdown()

requestOnShutdown() : \BEAR_Ro

リソースリクエストをshutdown時に実行

Returns

\BEAR_Ro

hasChainLink()

hasChainLink() : boolean

リンクを持つか

Returns

boolean

getLinkedBody()

getLinkedBody() : array

リンクされたbody配列を取得

Returns

array

getSetOption()

getSetOption() : string

setオプションの取得

Returns

string

p()

p() : \BEAR_Ro

デバック表示

$resource->$read($params)->p(); $resource->$read($params)->set('user')->p();

Returns

\BEAR_Ro

_exception()

_exception(string  $msg, array  $config) : \Exception

例外の作成

Parameters

string $msg
array $config

Returns

\Exception

_doRequest()

_doRequest() : void

リソースリクエスト実行

_setHtml()

_setHtml(  $isLinked) 

リソーステンプレートをRoにセット

リクエストにテンプレートオプションが指定されているとHTML等文字列化してRoに保持します。

Parameters

$isLinked

_getHtml()

_getHtml(mixed  $body) : string

リソーステンプレートに適用さたHTML文字列を取得

Parameters

mixed $body

リソースボディ

Returns

string