<?php
// Outside of the application, e.g. DB or some storage.
function addSomeIntegerFieldToDB($value)
{
$sql = 'INSERT INTO mytable (integer_field) VALUES (:int)';
// $st = $pdo->prepare($sql);
// $st->execute(array('int' => $value);
}
// the application:
global $conditional;
$conditional = true;
class X {
public function doSmth($id)
{
// Assertion will run independently of $conditional, thus preventing a wrong $id to be passed to ->doSmth() method
assert(is_int($id), \Exception('wot ar y doin'));
global $conditional;
if ($conditional) {
addSomeIntegerFieldToDB($id);
}
}
}
$obj = new X;
$obj->doSmth(13);
Fatal error: Uncaught Error: Call to undefined function Exception() in /in/smYKU:20
Stack trace:
#0 /in/smYKU(33): X->doSmth(13)
#1 {main}
thrown in /in/smYKU on line 20
Process exited with code 255.
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Fatal error: Call to undefined function Exception() in /in/smYKU on line 20
Process exited with code 255.