PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

DB_DataObject::factory() | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

DB_DataObject::factory()

DB_DataObject::factory() – 表名に基づいたクラスの自動ロードとインスタンス化

Synopsis

mixed DB_DataObject::factory ( string $table )

Description

これは、クラスの自動ロードとインスタンス化を行うお勧めの方法です。 クラスは表のためのクラスネーミング設定 (class_location および class_prefix) に基づいてロードされます。

Parameter

  • string $table - ロードするテーブルを指定します ([バージョン1.7.2から] ブランクかつデータオブジェクトのインスタンスがコールされた場合、 そのオブジェクトの新しいインスタンスが生成されます) 。

Return value

object mixed - DB_DataObject_Error またはオブジェクト

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 意味 解決策
DB_DATAOBJECT_ERROR_NOCLASS "$class を自動ロードできません"

Note

このメソッドを静的あるいは動的にコールする事ができます。

Example

主キーに基づいたデータの簡単なフェッチ

<?php
// オプションを設定します
$opts = &PEAR::getStaticProperty('DB_DataObject','options');
$opts = array(
    
'class_location'  => '/home/me/Projects/myapplication/DataObjects',
    
'class_prefix'    => 'DataObjects_'
);


// ファイル /home/me/Projects/myapplication/DataObjects/Person.php
// を読み込み、クラス DataObjects_Person が存在するかどうかを調べ、
// そのクラスのインスタンスを返します

$person DB_DataObject::factory('person');


if (
$person->get(12)) {
  
print_r($person);
} else {
  echo 
"12 番の人は存在しません";
}



// 動的に使用することも可能です
class DataObjects_MyTable {
    
    function 
anExample() {
        
$person $this->factory('person');
        
        
        
        
// バージョン 1.7.2 でサポートされます
        
$another_mytable $this->factory();
        
        
$another_person $person->factory();
        
    }
}
?>
忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「DB_DataObject::factory()」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | DB_DataObject::factory()」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: