namespace base\libs;
class User
{
use patterns\Singleton;
public function getData()
{
}
}
namespace base\patterns;
trait Singleton
{
static private $instance;
private function __construct() {}
private function __clone() {}
private function __wakeup() {}
static public function getInstance()
{
if (empty(static::$instance)) {
static::$instance = new static();
}
return static::$instance;
}
}
namespace base;
$User = libs\User::getInstance();
$User->getData();
при выполнении этого кода autholoader вызывается 3 раза!
1. base\libs\User
2. base\patterns\Singleton
3. Singleton !!!
Никак не могу понять когда вызывается 3 запрос?
P.S. Даже если я меняю
use patterns\Singleton;
на
use \base\patterns\Singleton;
у меня все равно 3 вызова.