3v4l.org

run code in 300+ PHP versions simultaneously
<?php // DBLogger.php class DBLogger { private $enabled; private $operations; private $ignoredTables; public function __construct() { $this->enabled = false; $this->operations = null; $this->ignoredTables = null; } public function enable() { $this->enabled = true; return $this; } public function disable() { $this->enabled = false; return $this; } public function operations($operations) { $this->operations = $operations; return $this; } public function ignoreTables($tables) { $this->ignoredTables = $tables; return $this; } public function log($query) { if(!$this->enabled) return; $queryParts = explode(" ", $query); $queryCommand = $queryParts[0]; if($this->operations === null || strripos($this->operations, $queryCommand) !== false) { $tables = $this->ignoredTables === null ? array() : explode(",", $this->ignoredTables); $numOfTables = count($tables); for($i=0; $i<$numOfTables; $i++) { $tableName = str_replace(" ", "", $tables[$i]); if(strpos($query, $tableName) !== false) { return; } } $file = "queries_".date("Y-d-m").".sql"; $this->writeToFile($file, $query); } return $this; } private function writeToFile($file, $query) { $dir = dirname(__FILE__)."/logs/"; $content = ''; if(file_exists($dir.$file)) { $content = file_get_contents($dir.$file)."\n\n"; } $content .= $query.";"; file_put_contents($dir.$file, $content); } } global $dblogger; $dblogger = new DBLogger();
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Output for 4.4.2 - 4.4.9
<br /> <b>Parse error</b>: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in <b>/in/WhMjQ</b> on line <b>7</b><br />
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
<br /> <b>Parse error</b>: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in <b>/in/WhMjQ</b> on line <b>7</b><br />
Process exited with code 255.
Output for 4.3.2 - 4.3.4
<br /> <b>Parse error</b>: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in <b>/in/WhMjQ</b> on line <b>7</b><br />
Process exited with code 255.

preferences:
363.42 ms | 401 KiB | 468 Q