@Alk90
php, mysql, jquery, css, html, api

Как прописать правильно namespase относительно папки?

Доброго времени суток.
У меня проект лежит в папке /app а основная единая точка входа в /app/public/index.php

Например для файла /app/core/Router.php я прописываю namespace app\core
Но как мне не привязывать namespace к корневой директории (в которой лежит app) а сделать namespace? для того же Roure - просто core?

Я написал автозагрузку и положил в файл /app/public/index.php и все работает как нужно, но IDE подчеркивает namespace core; и хочет чтобы я указывал namespace относительно корня всего сайта "Namespace name doesn't match the PSR-0/PSR-4 project structure"
  • Вопрос задан
  • 315 просмотров
Пригласить эксперта
Ответы на вопрос 2
@kot999
Backend software engineer
если пользуетесь PHPStorm, там можно в настройках указывать namespace каждой директории, так же потом правильно сконфигурировать автолоад - секцию в composer.json (если используете его) который поможет IDE правильно ассоциировать неймспейсы.
Но это не самая хорошая практика, когда есть два неймспейса, /app/core и /core . Автолоадер возможно и разрулит, но вы сами будете путаться.
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега PHP
frontend developer
PSR-0 или PSR-4, и как правильно построить структуру проекта?

Если я правильно понял, вы хотите убрать app из нейспейса.
Тогда в вашем случае, полагаю, так

"psr-4": {
      "core\\": "app/core"
}


И phpStrom указать для папки app/core что она является Source root. Может и другие IDE так умеют.
Ответ написан
Ваш ответ на вопрос

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

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