3v4l.org

run code in 300+ PHP versions simultaneously
<?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(); ?>

preferences:
42.85 ms | 402 KiB | 5 Q