<?php
class Something {
public function run() {
$amount = 934;
// instace method called statically.
Crazy::doSomething();
}
public function log($var) {
echo $var;
}
}
class Crazy {
public function doSomething() {
// log doesn't exist in this class
$this->log('Hello World, ' . $amount);
}
}
error_reporting(0);
(new Something)->run();
echo "\n\n\n\n-------------\n\n\n\n";
error_reporting(E_ALL | E_STRICT);
(new Something)->run();
Hello World,
-------------
Deprecated: Non-static method Crazy::doSomething() should not be called statically, assuming $this from incompatible context in /in/HZl6t on line 9
Notice: Undefined variable: amount in /in/HZl6t on line 22
Hello World,
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38
Hello World,
-------------
Strict Standards: Non-static method Crazy::doSomething() should not be called statically, assuming $this from incompatible context in /in/HZl6t on line 9
Notice: Undefined variable: amount in /in/HZl6t on line 22
Hello World,