Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910

пространства имен

09.07.2019, 13:55. Показов 1184. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
впервые столкнулся с этим делом
PHP
1
2
3
4
5
require_once 'dUtils.php';
require_once 'nxServ.php';
 
class Utils {
}
в модуле dUtils тоже есть класс Utils. Ок, добавляем
PHP
1
2
3
4
5
6
7
8
9
namespace api\utils;
require_once 'dUtils.php';
require_once 'nxServ.php';
class Utils {
}
class nxClient {
 public function run() {
  $adm=new ADM(); // этот класс из модуля nxServ.php
}
и получаем ошибку, что api\utils\ADM not found

в модулях пространств имен нет (и добавить уже ссыкотно, ибо кода много и где вылезет неизвестно)
собственно и вопрос - как правильно поименовать класс из внешнего модуля?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2019, 13:55
Ответы с готовыми решениями:

Пространства имен
Доброго времени форумчане . Ребят ,кто то может внятно объяснить в чем преимущество использования пространств имен ? Я вот и так и сяк ,ну...

Зачем нужны пространства имен в php
Зачем нужны пространства имен в php -- что это облегчает?

Подгрузка файлов с использованием пространства имен. Как сделать?
Сейчас обдумываю различные варианты организации системы, соответственно нужен автозагрузчик. Обычно просто подгружал основные файлы через...

3
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
09.07.2019, 13:58
PHP
1
new \ADM();
1
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
09.07.2019, 18:53  [ТС]
Jodah,
правильно понимаю, что \ будет ссылаться на генеральный контекст выполнения? И уже в там будут имена классов из required?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
09.07.2019, 19:01
Лучший ответ Сообщение было отмечено pincet как решение

Решение

pincet, как есть абсолютные и относительные пути к файлам, так есть абсолютные и относительные пространства имён.

new ADM() - это относительный путь. Относительно текущего пространства имён. new \ADM() - это абсолютный путь, т.е. относительно корневого пространства, в котором лежат всякие \Exception, \stdClass и т.д.

Более подробно об этом написано в документации.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.07.2019, 19:01
Помогаю со студенческими работами здесь

Именные пространства файлов
Мой сайт обладает следующей структурой: ---(страницы сайта) ---php ------brain.php ------writer.php ---blocks ------(куски...

Динамические пространства имен
Почему я не могу в скрипте использовать динамические пространства имен? А именно использовать такую конструкцию $namemod =...

В чем разница между подключением пространства имен в начале файла и внутри другого пространства имен?
Привет! Есть свой класс: namespace MyNamespace { public class MyClass { }

Имя типа или пространства имен отсутствует в пространстве имён
Доброго времени суток. Делаю пример SportsStore из книги "ASP.NET MVC 3 Framework с примерами на C# для профессионалов", Сандерс....

Имя типа или пространства имен отсутствует в пространстве имен
Подскажите решение проблемы. Целиком код:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru