@solascriptura

PHP: Почему Class not found если use в другом файле?

Пытаюсь отдебагить (как это правильно назвать?) довольно странную ситуацию:

В файле header.php у меня есть строчка
Comment::theUnrepliedCommentsQuantity($userId);
Которая выдает ошибку
Fatal error: Uncaught Error: Class 'Comment' not found

При том что namespace задан в файле который подключен перед этим через include
use j4s\Comment;

При этом, если я use прописываю в том-же файле из которого вызывается класс, то все срабатывает корректно, если я такую-же запись переношу в конец файла подключенного выше include'ом то выдает ошибку.
  • Вопрос задан
  • 10237 просмотров
Решения вопроса 2
dubr
@dubr
пыхарь
Почитайте доку для разнообразия.
Неймспейсы и директивы use работают на уровне файлов. То есть use связывает полное имя с кратким/алиасом только в том файле, где его написали.
Ответ написан
Комментировать
Melkij
@Melkij
PostgreSQL DBA
use - синтаксический сахар времени компиляции и действует в пределах только одного файла.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы