Часто бывает необходимо в разных конфигах писать название класса (с пространствами имен). Видел по разному пишут: например просто строкой '\MyNamespace\MyClass', или MyClass::class. Правда для последнего варианта еще use придется написать, ну или полное имя опять же с неймспейсами. Еще в Yii раньше был способ с их собственным методом className() который сейчас уже объявлен deprecated, но речь не о нем.
В способе MyClass::class есть один плюс по сравнению с первым - удобство рефакторинга (ну и автокомплит тоже). Т.е. если я изменю ему имя или неймспейс то IDE сама заменит его в месте использования таким образом, а вот в строке вряд-ли (да даже ошибку не отобразит).
Интересует не вызывает ли такое использование каких-то дополнительных накладных расходов вроде подгрузки класса в этом месте (или когда я use пишу)?
Директивы use не существуют в runtime вовсе. Они обрабатывается на этапе компиляции и соответственно никак не могут вызывать автозагрузку классов, которая как раз runtime.
Так называемые магические константы совершенно так же обрабатываются уже на этапе компиляции:
All these "magical" constants are resolved at compile time
И на этапе компиляции у вас ещё нет автозагрузки классов, её вы активируете позже на этапе выполнения через spl_autoload_register или объявлением функции __autoload (устаревший способ).
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости