Lambda-component
[ class tree: Lambda-component ] [ index: Lambda-component ] [ all elements ]

Class: Factory

Source Location: /components/Factory.php

Class Overview


ファクトリー class


Author(s):

  • rooth

Version:

  • 0.0.1

    PHP version 5

     usage:
      Factory::setBaseDir('/path/to/lib');
      $obj = Factory::load(str classPath [, str className])->getInstance([mixed arg1, arg2, ...]);
      $obj = Factory::load(str classPath [, str className])->getSingleton([mixed arg1, arg2, ...]);
      Factory::import(str classPath);
    
       #クラスをロードするベースディレクトリを「/path/to/lib」にセット
       Factory::setBaseDir('/path/to/lib');
       // ※. このメソッドを呼ばない場合、デフォルトではこのクラスが置かれているディレクトリが設定されます。
    
       # /path/to/lib/some_class.php をロードして、インスタンスを生成する
       $obj = Factory::load('some_class')->getInstance();
    
       # /path/to/lib/hoge/some_class.php をロードして、シングルトンインスタンスを生成する
       $obj = Factory::load('hoge/some_class')->getSingleton();
    
       # /path/to/lib/some_class.php をロードして、クラス名「className」のインスタンスを生成する
       $obj = Factory::load('some_class', 'className')->getInstance();
    
       # /path/to/lib/hoge/some_class.php をロードして、コンストラクタ引数を渡してインスタンスを生成する
       $obj = Factory::load('some_class')->getInstance($arg1, $arg2, ...);
    
       # /root/dir/some_class.php をロードして、インスタンスを生成する
       # ※ スラッシュから始まるパスを指定すると setBaseDir() で設定したディレクトリを無視する
       $obj = Factory::load('/root/dir/some_class')->getInstance();
    
       # /root/dir/some_class.php をロードする ( = require)
       Factory::import('/root/dir/some_class');

Variables

Methods



Class Details

[line 44]
ファクトリー class



Tags:

author:  rooth
version:  

0.0.1

PHP version 5

 usage:
  Factory::setBaseDir('/path/to/lib');
  $obj = Factory::load(str classPath [, str className])->getInstance([mixed arg1, arg2, ...]);
  $obj = Factory::load(str classPath [, str className])->getSingleton([mixed arg1, arg2, ...]);
  Factory::import(str classPath);

   #クラスをロードするベースディレクトリを「/path/to/lib」にセット
   Factory::setBaseDir('/path/to/lib');
   // ※. このメソッドを呼ばない場合、デフォルトではこのクラスが置かれているディレクトリが設定されます。

   # /path/to/lib/some_class.php をロードして、インスタンスを生成する
   $obj = Factory::load('some_class')->getInstance();

   # /path/to/lib/hoge/some_class.php をロードして、シングルトンインスタンスを生成する
   $obj = Factory::load('hoge/some_class')->getSingleton();

   # /path/to/lib/some_class.php をロードして、クラス名「className」のインスタンスを生成する
   $obj = Factory::load('some_class', 'className')->getInstance();

   # /path/to/lib/hoge/some_class.php をロードして、コンストラクタ引数を渡してインスタンスを生成する
   $obj = Factory::load('some_class')->getInstance($arg1, $arg2, ...);

   # /root/dir/some_class.php をロードして、インスタンスを生成する
   # ※ スラッシュから始まるパスを指定すると setBaseDir() で設定したディレクトリを無視する
   $obj = Factory::load('/root/dir/some_class')->getInstance();

   # /root/dir/some_class.php をロードする ( = require)
   Factory::import('/root/dir/some_class');



[ Top ]


Class Variables

static $base_dir =

[line 48]



Tags:

access:  protected

Type:   mixed


[ Top ]

static $singleton = array()

[line 47]



Tags:

access:  protected

Type:   mixed


[ Top ]

$classname =

[line 46]



Tags:

access:  protected

Type:   mixed


[ Top ]



Class Methods


static method import [line 102]

static void import( $path)

クラスをロードする ( = require)



Tags:

access:  public


Parameters:

   $path  

[ Top ]

static method load [line 76]

static obj load( str $path, [str $classname = ''], [bool $load_only = false])

    2. 自分自身をインスタンス化して返却する($load_only = false の時)



    Tags:

    return:  自分自身のインスタンス
    access:  public


    Parameters:

    str   $path   ロードするクラスパス ・スラッシュで始まるパス以外は setBaseDir() で設定したディレクトリ配下からロードする ・拡張子「.php」はあってもなくても良い
    str   $classname   クラスファイル名とクラス名が異なる場合に指定する
    bool   $load_only   true が指定された時、クラスファイルをloadして処理を終了する(self::importで使用)

    [ Top ]

    static method setBaseDir [line 57]

    static void setBaseDir( str $dir)

    ベースディレクトリをセットする



    Tags:

    access:  public


    Parameters:

    str   $dir   ベースディレクトリ

    [ Top ]

    constructor __construct [line 111]

    Factory __construct( $classname)

    コンストラクタ



    Tags:

    access:  protected


    Parameters:

       $classname  

    [ Top ]

    method getInstance [line 123]

    obj getInstance( args 0)

    インスタンスを返却する



    Tags:

    access:  public


    Parameters:

    args   0   コンストラクターに渡す引数(可変長)

    [ Top ]

    method getSingleton [line 140]

    obj getSingleton( args 0)

    シングルトンインスタンスを返却する



    Tags:

    access:  public


    Parameters:

    args   0   コンストラクターに渡す引数(可変長)

    [ Top ]

    method mkParams [line 169]

    void mkParams( $args)



    Tags:

    access:  protected


    Parameters:

    array   $args  

    [ Top ]

    method setSingleton [line 156]

    void setSingleton( $args)



    Tags:

    access:  protected


    Parameters:

       $args  

    [ Top ]


    Documentation generated on Sat, 21 May 2011 18:34:06 +0900 by phpDocumentor 1.4.1