3v4l.org

run code in 300+ PHP versions simultaneously
<?php class MVCFramework { var $url = ''; function __construct($url) { $this->url = $url; //HTTP_REQUEST URL $this->run(); } function run() { if ($route = Routes::getRoute($this->url)) { list($controller, $action) = $route; $controllerObj = new $$controller; //$controllerObj->$$action(); //template } else { print_r('404'); } } } class Routes { static $routes = array(); static function add($route, $controller, $action) { self::$routes[$route] = array($controller.'Controller', $action); } static function getRoutes() { return self::$routes; } static function getRoute($url) { return self::$routes[$url]; } } abstract class Model { // connect to DB and etc. } // controllers/BookController.php class BooksController { function index() { $books = Book::all(); } function show() { $id = 1; $books = Book::find(1); } } // models/Book.php class Book { static function all() { $books = array('Book', 'Book', 'Book'); return $books; } static function find() { $book = 'Book'; return $book; } } Routes::add('/books', 'Books', 'index'); Routes::add('/books/:id', 'Books', 'show'); $url = '/books'; //new MVCFramework($url); class A {} new $"A";

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
5.4.300.0090.03912.54
5.4.290.0050.05012.54
5.4.280.0100.04112.43
5.4.270.0070.04712.43
5.4.260.0050.05512.43
5.4.250.0120.04912.43
5.4.240.0120.04512.43
5.4.230.0070.04712.42
5.4.220.0070.04512.42
5.4.210.0070.04412.42
5.4.200.0120.05212.43
5.4.190.0100.04212.42
5.4.180.0090.03812.42
5.4.170.0050.04312.42
5.4.160.0120.04312.42
5.4.150.0080.04112.42
5.4.140.0110.04312.11
5.4.130.0090.04212.09
5.4.120.0090.04512.06
5.4.110.0100.04312.05
5.4.100.0080.04212.05
5.4.90.0070.05212.05
5.4.80.0090.04412.05
5.4.70.0090.04712.05
5.4.60.0120.04412.05
5.4.50.0100.04812.05
5.4.40.0100.04812.03
5.4.30.0110.04512.03
5.4.20.0120.05112.02
5.4.10.0070.04912.03
5.4.00.0050.04711.53
5.3.280.0150.05712.71
5.3.270.0080.04912.72
5.3.260.0090.05912.72
5.3.250.0130.04912.72
5.3.240.0050.06012.72
5.3.230.0110.05112.71
5.3.220.0180.04812.68
5.3.210.0100.05312.68
5.3.200.0060.05412.68
5.3.190.0150.04612.68
5.3.180.0060.05612.67
5.3.170.0080.05312.67
5.3.160.0130.05012.67
5.3.150.0120.05212.67
5.3.140.0110.04112.66
5.3.130.0080.05012.66
5.3.120.0120.05212.66
5.3.110.0070.05712.66
5.3.100.0090.05312.15
5.3.90.0090.05412.13
5.3.80.0120.04612.12
5.3.70.0110.04912.12
5.3.60.0080.05212.10
5.3.50.0080.05312.05
5.3.40.0120.06612.05
5.3.30.0180.09112.00
5.3.20.0130.05411.80
5.3.10.0080.05211.75
5.3.00.0180.04711.75

preferences:
137.5 ms | 1398 KiB | 7 Q