3v4l.org

run code in 300+ PHP versions simultaneously
<?php // fake facade / IoC // class app { public static function make() { return new MyJSON; } } class JSON { public function encode($object) { if (function_exists('json_encode')) { return json_encode($object); } return $this->shimJson(); } public function shimJson() { return 'derp'; } } /////////////////////// class MyJSON extends JSON { public function encode($object, $options = JSON_FORCE_OBJECT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) { return json_encode($object, $options); } } echo app::make('json')->encode(array('test'));

preferences:
46.47 ms | 402 KiB | 5 Q