<?php
namespace Test;
class String
{
private $string;
public function __construct($string)
{
if (!is_string($string)) {
throw new \InvalidArgumentException();
}
$this->string = $string;
}
public function __toString()
{
return $this->string;
}
}
class A
{
public function a(String $string)
{
return $string;
}
}
$a = new A();
for ($i = 0; $i < 100000; $i++) {
$string = new String('a');
$a->a($string);
}
Catchable fatal error: Argument 1 passed to Test\A::a() must be an instance of Test\String, none given, called in /in/a51gb on line 32 and defined in /in/a51gb on line 26
Process exited with code 255.