CODE_OK
CODE_OK
コード OK
リソースオブジェクト
リソースのリソースオブジェクトクラスです。 リソースの内容とリソースに対する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リソースの実装例です。
class myTime extends BEAR_Ro
{
public function onRead($values){
$format = $values['format'];
retruen date($format);
}
}
※ 時間は削除、変更、作成はできないのでreadメソッドだけが実装されています。 ※ returnのフォーマットは2種類あります。 RAWデータ(配列やスカラー値)かリソースオブジェクトです。 データだけを返せば十分なときはRAWデータでデータにヘッダーやリンクなどの 属性情報をつけて返したい場合はリソースオブジェクト(BEAR_ROオブジェクト) で返します。
assert(boolean $bool, string $msg = 'Bad Resource Request (assert)') : void
シンプルアサーション
単純なboolean値を引数にしてfalseの時は例外を投げ、 リソースの結果は400エラー(Bad Request)のリソースオブジェクト(BEAR_Roオブジェクト)になります。 onRead, onCreateなどCRUDメソッドに値が正しく渡されているか確認するために使用します。 再利用のためにAOPアドバイスですることも検討してください。
boolean | $bool | 条件 |
string | $msg | エラー例外のinfo |
assertRequired(array $keys, array $values) : void
必須項目アサーション
連想配列に指定のキー配列が全て含まれてるか検査し、問題があれば例外を投げます。 リソースの結果は400エラー(Bad Request)のリソースオブジェクト(BEAR_Roオブジェクト)になります。 onRead, onCreateなどCRUDメソッドに値が正しく渡されているか確認するために使用します。
array | $keys | 必須キー配列 |
array | $values | テストする配列 |
None found |
setBody(mixed $body) : \BEAR_Ro
リソースボディをセット
リソースのボディ(リソース結果)をセットします。
mixed | $body | ボディ |
None found |
setHtml( $html) : \BEAR_Ro
リソースHTMLの指定
$html |
None found |
setHeader(string $key, string $header) : \BEAR_Ro
リソースヘッダーセット
キーを指定してリソースヘッダーをセットします。 予約済みキーはこのクラスのconstとして定義されています。
string | $key | ヘッダーキー |
string | $header | ヘッダー |
None found |
setHeaders(array $headers) : \BEAR_Ro
ヘッダーのセット
array | $headers | ヘッダー配列 |
None found |
setLink(string $key, string $link) : \BEAR_Ro
リンクのセット
リソースリンクをセットします。 予約済みキーはこのクラスのconstとして定義されています。
string | $key | リンクキー |
string | $link | リンク |
None found |
setLinks(array $links) : \BEAR_Ro
リンクをセット
array | $links | リンク |
None found |
setCode(integer $code) : \BEAR_Ro
状態コード設定
integer | $code | コード |
None found |
toString() : string
リソースの文字列化
変数状態のリソース(body)にテンプレートを適用して文字列化します。 テンプレート指定がない場合、スカラー値ならそのまま、スカラー値でないなら''になります。 プロトタイプリソース(リクエストをまだ行っていないリソース)の場合は実リクエストを行った後に文字列化を行います。 このメソッドはRoクラスのマジックメソッドとして機能します。
None found |
None found |
outputHttp() : void
HTTP出力
BEAR_RoリソースオブジェクトをHTTP出力します。 _codeプロパティがレスポンスコード、_header配列プロパティのうち 文字列のものがHTTPヘッダー,_bodyプロパティがHTTPボディとして出力されます。
None found |
getIterator() : \IteratorAggregate
イテレーター
optionsで指定したイテレーター、もしくはdefaultのArrayIteratorが使用されます
None found |
getIterator1() : \Traversable
Create a new iterator from an ArrayObject instance
None found |
set(string $key = null) : \BEAR_Ro
ビューにセット
readの後ろにつなげて使います。
$config 'pager' string ページャーをアサインする変数名 'ro' bool ROアサイン
$resource->$read($params)->set('user');
string | $key | テンプレート変数名 省略すればURI(/を_に置換) |
None found |
setConfig(mixed $config, mixed $values = null) : \BEAR_Ro
Set config
mixed | $config | (string) コンフィグキー | (array) コンフィグ配列 |
mixed | $values | (string) $configの時のコンフィグ値 |
None found |
getConfig(null $key = null) : array|mixed
コンフィグ取得
null | $key |
None found |
setService(string $name, object $service) : void
サービスセット
string | $name | プロパティ |
object | $service | サービス |
None found |
None found |