#php #laravel
#php #laravel
Вопрос:
Вероятно, это довольно простой вопрос. Но в моем проекте Laravel у меня есть User.php файл, который находится в
AppModelsUser.php
И мне нужно вызвать его в файле, который находится в App Http Controllers .
Поэтому я ссылаюсь на него как
Приложение Модели Пользователь
но вместо этого код думает, что я говорю
App Http ControllersAppModelsUser
Что, очевидно, неверно и вызывает ошибку. Как мне ссылаться на каталог в Laravel, который находится за пределами того, в котором я сейчас нахожусь?
Комментарии:
1. из-за пространства имен… если вы находитесь в объявленном пространстве имен, ссылки будут основаны на текущем пространстве имен… вы должны импортировать / псевдоним класса с
use
помощью инструкции2. Используя какой код? Под » ссылкой на каталог » вы имеете в виду, как правильно использовать пространства имен?
3. Ах да, пространства имен. Прошу прощения, если я использую неверную формулировку, поскольку я довольно новичок. Как я могу использовать такого рода инструкции для использования пространства имен за пределами того, в котором я нахожусь?
Ответ №1:
Вам нужно узнать о том, как работает пространство имен.
Я полагаю, что в верхней части вашего файла контроллера есть строка
namespace AppHttpControllers;
итак, если в вашем коде вы написали
$c = new ABC()
он ищет AppHttpControllersABC
. У вас есть два варианта:
-
используйте
$c = new ABC
, в вашем случае,AppModelsUser
-
добавьте псевдоним пространства имен вверху под строкой пространства имен:
use AppModelsUser;
А затем в свой код$user = new User
Комментарии:
1. Спасибо! Я обязательно узнаю больше о том, как работают пространства имен, поскольку, похоже, я упустил это, но тем временем это решило мою проблему.