blob: ae317667eb6821f466963bc7aa833455ba858448 [file] [log] [blame]
<?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<|();
?>