Привет.
Я недавно стал изучать пространства имён (до этого не было необходимости, пока не принял решение перейти с Yii1 на Yii2).
Прочитав информацию, а так же попробовав всё на живых примерах, у меня возникли вопросы.
Имеем обычную структуру:
file1.php<?php
namespace Test\File1;
class ClassName
{
public function test()
{
return "File1";
}
}
file2.php<?php
namespace Test\File2;
class ClassName
{
public function test()
{
return "File2";
}
}
index.php<?php
require_once 'file1.php';
require_once 'file2.php';
# use \Test\File2; <---
echo (new \Test\File2\ClassName)->test2();
Если не использовать use, то всё и так работает (знаю, что оператор может служить для создания псевдонима: use \Test\File2 as SomeClass). Попробовал использовать этот же трюк в Yii2 - сыпятся ошибки по поводу того, что нет отключенного мной класса.
Два вопроса:
1) так ли важен оператор use в моём случае?
2) всё зависит от автолоадера? Имею ввиду его настройку, чтобы даже при принудительных инклюдах пространство само по себе не подключалось