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

->set*() and ->get*() | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

->set*() and ->get*()

->set*() and ->get*() – オーバーロードを用いた自動的な set系・get系メソッド

Synopsis

true | string $DB_DataObject->set* ( mixed $value )

mixed $DB_DataObject->get* ( )

Description

PHP 4.3.2RC2 以降、DB_DataObject は自動的にオーバーロードされ、 あなたがメソッドを定義していなくても $object->set{ColumnName}() や $object->set{ColumnName}($value) を使用して全ての変数にアクセスできます。

set メソッドはエラーの場合文字列を返し、さもなければ TRUE を返します。 これにより、setFrom メソッドと連携し、 エラー文字列の配列を返すことができます。

get メソッドは toArray() メソッドで使用されます。 もし定義されていれば、 人が読める日付の作成のようにカラムの表示を変更することができます。

ロジックは非常にシンプルです。もし $object->setXXX() がコールされ、 かつ定義されていない場合、単純に値を設定します。 もし setXXXX メソッドが定義されていれば、デフォルトハンドラの代わりに コールされます。同じ事が getXXX() メソッドについても適用されます。

カラム名が from である場合に名前衝突の可能性があるので、 カラム 'from' に関連するメソッドは setFrom() ではなく set_from になります。

Parameter

  • mixed $value - set系メソッドのみ (カラムに割り当てる値を) 指定します。 get系メソッドでは日付フォーマットや sprintf の整形文字列を引数として指定します。

Return value

mixed - set系メソッドは、デフォルトメソッドや独自実装からは TRUE 。値が不正な場合、setXXX($value) メソッドは文字列 (エラー) を返し、成功の場合 TRUE。 getXXX メソッドは、値あるいは整形された値を返す。 このメソッドは $object->toArray() に影響することを忘れないように。

Note

This function can not be called statically.

注意: このメソッドは実験的なものです。この動作は将来変更されるかも知れません。

Example

オブジェクト変数に基づくシンプルな検索とデータのフェッチ

<?php
class DataObjects_Person extends DB_DataObject {

    var 
$id;
    var 
$name;
    var 
$date_of_birth;

    
// you can define this method after you implement a call to it!
    // as it is automatically implemented to return $this->date_of_birth by
    // the overload __call() method.

    
function getDate_of_Birth() {
        return 
date('d M Y'strtotime($this->date_of_birth));
    }
}


$person = new DataObjects_Person;

$person->get(12);

// now lets use the getters and setters even though some are not defined.
echo $person->getName() . ' was born on  ' $person->getDate_of_Birth();
?>

結果の出力



       Fred Blogs was born on 1 April 1970
忘却曲線を使ってこの知識を確実に記憶に残す

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