Задать вопрос
@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"
  • Вопрос задан
  • 427 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    2 недели
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
Пригласить эксперта
Ответы на вопрос 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 так умеют.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы