PHP is very funny language. Here we are simple class, without constructor:
class Foo
{
}
$foo = new Foo($random, $names, $are, $not, $detected);
echo "ok!\n";
One can assume, that interpreter will detect undeclared variables, but as their names state this doesn't happen (PHP versions 5.3..5.5):
$ php foo1.php
ok!
When class
Foo have constructor
class Foo
{
public function __construct()
{
}
}
$foo = new Foo($random, $names, $are, $not, $detected);
everything works as expected:
$ php foo2.php
PHP Notice: Undefined variable: random in /home/wojtek/foo2.php on line 10
PHP Notice: Undefined variable: names in /home/wojtek/foo2.php on line 10
PHP Notice: Undefined variable: are in /home/wojtek/foo2.php on line 10
PHP Notice: Undefined variable: not in /home/wojtek/foo2.php on line 10
PHP Notice: Undefined variable: detected in /home/wojtek/foo2.php on line 10