<?php
namespace Foo\Bar;
class A
{
}
class B
{
public function __construct($type)
{
$fullType = 'Foo\\Bar\\' . $type;
echo "try to create $fullType\n";
new $fullType;
echo "$fullType created\n";
//$fullType = get_class($type . '::class');
echo "try to create $type::class ($fullType)\n";
new $type . '::class';
echo "$type::class ($fullType) created\n";
echo "try to create $type\n";
new $type;
echo "$type created\n";
}
}
new A;
new B('A');
try to create Foo\Bar\A
Foo\Bar\A created
try to create A::class (Foo\Bar\A)
Fatal error: Uncaught Error: Class "A" not found in /in/meWIs:21
Stack trace:
#0 /in/meWIs(31): Foo\Bar\B->__construct('A')
#1 {main}
thrown in /in/meWIs on line 21
Process exited with code 255.
try to create Foo\Bar\A
Foo\Bar\A created
try to create A::class (Foo\Bar\A)
Fatal error: Uncaught Error: Class 'A' not found in /in/meWIs:21
Stack trace:
#0 /in/meWIs(31): Foo\Bar\B->__construct('A')
#1 {main}
thrown in /in/meWIs on line 21
Process exited with code 255.
try to create Foo\Bar\A
Foo\Bar\A created
try to create A::class (Foo\Bar\A)
Fatal error: Class 'A' not found in /in/meWIs on line 21
Process exited with code 255.