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

Class: BEAR

Source Location: /BEAR.php

Class Overview


BEARシステムクラス


Author(s):

Version:

  • SVN: Release: @package_version@ $Id: BEAR.php 2580 2011-06-20 09:16:25Z koriyama@bear-project.net $

Constants

Methods



Class Details



[ Top ]


Class Methods


static method dependency [line 454]

static stdClass dependency( string $class, [mixed $config = array()], [mixed $options = true])

インスタンスの生成とサービスロケータの登録

インスタンスの生成とサービスロケータの登録

 指定されたクラスのインスタンスをBEAR::factory()で生成してシングルトン管理します。

 Constructorの値はフレームワークデフォルト、アプリケーションデフォルト、$configの順でマージされたものが使われます。
 2 指定された初期化メソッド(デフォルトはonInject)がコールされ、
   メソッド内では通常そのオブジェクトが利用するオブジェクト(依存オブジェクト)をプロパティとして代入しオブジェクトの合成を行います。
 3 クラス名でレジストリに登録されその後シングルトンで扱われます。

 $configの変数の型によって動作が変わります。

 配列の場合: 遅延生成
   $configが配列だとそのBEAR::factoryでその配列をコンストラクタに渡しオブジェクトを生成します。
   生成したオブジェクトはサービスプロパティにオブジェクトを格納します。

 文字列の場合 : サービスロケータ
   サービスロケーターの呼び出しとして機能します。与えられた文字列をキーにレジストリからオブジェクトを返します。
   レジストリにオブジェジェクトの代わりに配列($class, $config)でが入っているとその情報でインスタンス化します。
   これはlazy-load(遅延ロード)を実現するものです。実際の読み込みまでインスタンス生成コストがかかりません。

 オブジェクトの場合 :
   そのオブジェクトをそのまま返します。

 $options
   booleanの場合: (deprecated)
     trueだとsingleton生成、falseだとprototype生成(毎回new)になります。

   arrayの場合:
      'is_singleton' bool  singleton指定 (deprecated: factory()推奨)
 Inject結果をキャッシュするかの指定。キャッシュ時間は無期限です。
 Inject後のオブジェクトがシリアライズされキャッシュ利用されます。
      'inector'     string インジェクター指定。デフォルトは'onInject'




Tags:

see:  Core J2EE Patterns - Service Locator
see:  http://java.sun.com/blueprints/corej2eepatterns/Patterns/ServiceLocator.html
throws:  BEAR_Exception
access:  public


Parameters:

string   $class   クラス名
mixed   $config   array=クラスコンフィグ string=サービスキー object=そのまま返る
mixed   $options   (array) オプション (bool) deprecated

[ Top ]

static method exists [line 580]

static bool exists( string $key)

レジストリにサービスがあるか調べる

レジストリにサービスがあるか調べる




Tags:

access:  public


Parameters:

string   $key   サービスキー

[ Top ]

static method factory [line 351]

static stdClass factory( string $class, [ $config = array()], [ $options = array()])

オブジェクト生成

オブジェクト生成




Tags:

throws:  BEAR_Exception
access:  public


Parameters:

string   $class   クラス名
array   $config   クラス用コンフィグ
array   $options   オプション

[ Top ]

static method get [line 560]

static stdClass get( string $key)

サービスを取得

サービスを取得 サービスネームからサービスを取得します。




Tags:

throws:  BEAR_Exception
access:  public


Parameters:

string   $key   サービスキー

[ Top ]

static method getAll [line 590]

static array getAll( )

レジストリの内容を全て取得

レジストリの内容を全て取得




Tags:

access:  public


[ Top ]

static method init [line 105]

static void init( [ $appConfig = array('core' => array('debug' => false))])

初期化

初期化 BEARの使用時にbootstrapなどの部分で一度呼び使用クラスの設定 オートローダー、エラーハンドラの設定、デバック用機能有効化などを行います。




Tags:

access:  public


Parameters:

array   $appConfig   アプリケーション別クラス設定

[ Top ]

static method loadConfig [line 300]

static array loadConfig( string $target, [ $useApc = false])

コンフィグファイル読み込み

コンフィグファイル読み込み




Tags:

access:  public


Parameters:

string   $target   YAMLアプリケーション設定ファイルpath
   $useApc  

[ Top ]

static method loadValues [line 207]

static array loadValues( mixed $target, [array $options = array()])

連想配列の取得

連想配列の取得

 PHPの連想配列を指定すればそのまま、ファイルパスを指定すれば
 設定ファイルから読み込み連想配列として渡します。
 またURLのクエリー形式も使用できます。
 BEARで広く使われています。BEARの全てのクラスのコンストラクタ
 (シングルトン含む)、リソースへの引数、
 オプションにこの連想配列フォーマットが使われます。

 array -- 連想配列としてオプションが入力されます

 string -- ファイルから拡張子によりフォーマットが異なります
  URLクエリー形式 ?foo1=bar1&hoge=fugaのようなフォーマットを連想配列にします
  *.ini iniフォーマット
  *.xml XMLフォーマット
  *.php phpのdefineが連想配列として読み込まれます
  *.yml yamlファイル

 $options
 'extention' string オーバーロード拡張子




Tags:

see:  http://pear.php.net/manual/ja/package.configuration.config.php
see:  BEAR/test/files/example.xml
see:  BEAR/test/files/example.php
see:  BEAR/test/files/example.ini
throws:  BEAR_Exception
access:  public


Parameters:

mixed   $target   ターゲット ファイルパス,URLなど
array   $options   オプション

[ Top ]

static method onAutoload [line 153]

static void onAutoload( string $class)

クラスローダー

クラスローダー 定義されていないクラスが使用されたときにコールされるクラスローダーで PEARのコーディングスタイルに従ったファイル配置のファイルが自動で読み込まれます。




Tags:

see:  http://groups.google.com/group/php-standards/web/psr-0-final-proposal
throws:  BEAR_Exception
access:  public


Parameters:

string   $class   クラス名

[ Top ]

static method set [line 540]

static void set( string $key, mixed $service)

オブジェクトをレジストリにセット

オブジェクトをレジストリにセット オブジェクトをレジストリにセットします。 array($class, $config)というフォーマットでセットするとlazy-load(遅延読み込み)になり読み込み時に$configを引数にインスタンス化されます。




Tags:

throws:  BEAR_Exception
access:  public


Parameters:

string   $key   サービスオブジェクトキー
mixed   $service   サービス object | array($class, $config) lazy-load

[ Top ]


Class Constants

CODE_BAD_REQUEST =  400

[line 69]

Code Bad Request

Code Bad Request



[ Top ]

CODE_ERROR =  500

[line 74]

COde Internal Error

COde Internal Error



[ Top ]

CODE_OK =  200

[line 64]

Code OK

Code OK



[ Top ]

VERSION =  '0.9.0'

[line 59]

BEAR version

BEAR version



[ Top ]



Documentation generated on Sat, 30 Jul 2011 00:10:04 +0900 by phpDocumentor 1.4.3