このインターフェイスは、拡張インターフェイスをオブジェクト指向で扱えるようにしたものです。 以下の例では、先ほどの例をオブジェクト指向で書き直したものをごらんいただきます。 この例の出力は、先ほどのものとまったく同じです。 ただ、"Not a valid counter!" と表示されるかわりに PHP の警告が発生します。 これは、変数 $counter_three がオブジェクトでないためです。 この例では、拡張モジュールで定義されている Counter クラスのサブクラスを作成できることも確認できます。 また、カウンタの値がメソッドではなくインスタンス変数で表されることもわかります。
例1 "counter" のオブジェクト指向インターフェイス
<?php
class MyCounter extends Counter
{
public function printCounterInfo() {
printf("Counter's name is '%s' and is%s persistent. Its current value is %d.\n",
$this->getMeta(COUNTER_META_NAME),
$this->getMeta(COUNTER_META_IS_PERSISTENT) ? '' : ' not',
$this->value);
}
}
Counter::setCounterClass("MyCounter");
if (($counter_one = Counter::getNamed("one")) === NULL) {
$counter_one = new Counter("one", 0, COUNTER_FLAG_PERSIST);
}
$counter_one->bumpValue(2); // we aren't allowed to "set" the value directly
$counter_two = new Counter("two", 5);
$counter_three = Counter::getNamed("three");
$counter_four = new Counter("four", 2, COUNTER_FLAG_PERSIST | COUNTER_FLAG_SAVE | COUNTER_FLAG_NO_OVERWRITE);
$counter_four->bumpValue(1);
$counter_one->printCounterInfo();
$counter_two->printCounterInfo();
$counter_three->printCounterInfo();
$counter_four->printCounterInfo();
?>
NPO法人の設立(東京・大阪) 東京や大阪などNPO法人を設立する場合の注意点等を紹介
不動産・賃貸・マンション 不動産・賃貸・マンションに関する用語集です。
堺市の入院・内科大阪の賃貸探し 大阪で賃貸を探している方は大阪ホームへ
東京の賃貸マンション 東京で賃貸を探すなら東京賃貸.orgへ