Автозагрузка PSR-4 не работает — не удается найти класс

Я пытаюсь разбить длинный файл на более мелкие куски, поэтому я создал src папку, и я пытаюсь ссылаться на нее из основного Extension.php файл (который загружается и работает нормально, кстати).

Итак, я добавляю src папка в массив автозагрузки psr-4:

"psr-4": {
"Bolt\\Extension\\AndyJessop\\SurveyMonkey\\": [
"",
"src/"]
}

Я создаю Test.php файл внутри src:

<?php

namespace Bolt\Extension\AndyJessop\SurveyMonkey;

class Test
{
public function test() {
return 'success';
}
}

в Extension.php файл (который находится в том же пространстве имен), у меня есть эта функция, которая называется:

use Bolt\Extension\AndyJessop\SurveyMonkey\Test;

public function testing(){
return Test::test();
}

Но я получаю следующую ошибку:

Error: Class 'Bolt\Extension\AndyJessop\SurveyMonkey\Test' not found
File: extensions/local/andyjessop/surveymonkey/Extension.php

0

Решение

Сначала беги composer update или же composer dump-autoload создать систему автозагрузки.

Далее, убедитесь, что вы включили (require_once предпочтительно) автозагрузку в верхней части ваших точек входа:

require_once __DIR__ . '/path/to/vendor/autoload.php';

N.B .: если у вас PHP 5.3 или ниже, замените __DIR__ с dirname(__FILE__),

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]