@AlpineMilk

Почему не находит класс namespace?

есть файл index.php и с ним на одном уровне лежит Parser.php
вот код индекса
require_once "vendor/autoload.php";

use src\Parser;

$parser = new Parser();


класс парсер имеет namespace src;
при таком подключении выбивает ошибка
Fatal error: Uncaught Error: Class 'src\Parser' not found


почему он его не находит? так же пробовал положить класс в папку src думал может он ищет по папкам, но тоже без успеха, вот composer.json если понадобится,
{
    "require": {
        "phpoffice/phpspreadsheet": "^1.2"
    },
    "autoload": {
    	"psr-4": {"excel.local": "/"}
    }
}

да, и как прописать автозагрузку прям и корня каталога? правильно ли я сделал?
  • Вопрос задан
  • 216 просмотров
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
есть файл index.php и с ним на одном уровне лежит Parser.php

Тогда и лежать должен в src/Parser.php, а не на одном уровне.

https://www.php-fig.org/psr/psr-4/
Ответ написан
@profaller
AlpineMilk, прописать в конфиге composer как обзывается namespace который смотрит в корень, и заново собрать autoload.

Примерно так:

"autoload": {
    "psr-4": {
      "rootnamespace\\": "/"
    }
  }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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