1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<?php
class |>CLASS:test<| {
protected $|>FIELD:x<|;
static private $|>FIELD,STATIC:test<| = NULL;
static private $|>FIELD,STATIC:cnt<| = 0;
static function |>METHOD,STATIC:factory<|($x) {
if (test::$|>FIELD,STATIC:test<|) {
return test::$|>FIELD,STATIC:test<|;
} else {
test::$|>FIELD,STATIC:test<| = new test($x);
return test::$|>FIELD,STATIC:test<|;
}
}
protected function |>METHOD:__construct<|($x) {
test::$|>FIELD,STATIC:cnt<|++;
$this->|>FIELD:x<| = $x;
}
static function |>METHOD,STATIC:destroy<|() {
test::$|>FIELD,STATIC:test<| = NULL;
}
protected function |>METHOD:__destruct<|() {
test::$|>FIELD,STATIC:cnt<|--;
}
public function |>METHOD:get<|() {
return $this->|>FIELD:x<|;
}
static public function |>METHOD,STATIC:getX<|() {
if (test::$|>FIELD,STATIC:test<|) {
return test::$|>FIELD,STATIC:test<|->|>FIELD:x<|;
} else {
return NULL;
}
}
static public function |>METHOD,STATIC:count<|() {
return test::$|>FIELD,STATIC:cnt<|;
}
}
test::|>CUSTOM1,STATIC:getX<|();
?>
|