Изучаю сейчас пространства имен, и я запутался немного...
Вот в фреймворке YII2, в контроллерах есть такой код:
1. namespace app\controllers;
2. use Yii;
3. use yii\web\Controller;
Есть вот два таких вопроса...
Мы пишем "use Yii;", и вот на этот момент уже должен быть подключен файл с этим классом, или механизм пространства имен сам подключит его, когда увидит "use"?...
"use Yii;" - вот здесь, мы получается "импортируем" класс Yii? Я правильно понимаю? И этот класс лежит сейчас в области видимости app\controllers? Ведь там не из глобальной области видимости пытается подключить.
use SomeNamespace\SomeClass всего лишь дает нам возможность использовать этот SomeClass не указавая каждый раз его пространство именНапример у нас есть класс:
namespace aSpace;
class A{
....
}
Тогда в другом неймспейсе нам придется либо делать так:
namespace bSpace;
class B{
public function b(){
$a = new aSpace\A();
}
}
Либо так:
namespace bSpace;
use aSpace\A;
class B{
public function b(){
$a = new A();
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости