run code in 200+ php & hhvm versions
Bugs & Features
<?php // index.php require(baseController.php); require(basemodel.php); require(header.php); // baseController.php class baseController { function __construct() { baseModel } function echoView($view) { $this->view->render('views/header');// go to view controller and use the render method to echo view.php view. } } // basemodel.php class baseModel { function __construct() { // acces db with new db(); } public function userList() { $query = $this->db->prepare('SELECET....'); $query->execute(); return $query->fetchAll(); } } //view.php <p>This is a view!</p> //header.php <header></header> // controller methods operate models // userController.php class userController { function __construct() { parent::baseController; } function edit($i) { $tis->view->user = $this->model->userList(); $this->view->render(user/edit); } } // model methods operate on the database // usermodel.php class userModel extends baseModel{ function __construct() { parent::__construct(); } public function userList() { $query = $this->db->prepare('SELECET users FROM...'); $query->execute(); return $query->fetchAll(); } }

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).
Note: hhvm uses a JIT which only kicks in after a few runs. Since we run scripts only once, hhvm always runs slower.

VersionSystem time (s)User time (s)Memory (MiB)