В настоящее время я пытаюсь построить новый проект PHP с нуля (внутри git
хранилище), используя Composer (впервые), на Eclipse Neon PDT с Композитор Eclipse Плагин а также EGit.
Чтобы начать с чего-то достаточно простого, я сначала установил известную библиотеку PHP Markdown Lib. Я думаю, что у меня не было проблем с настройкой require
установка, так как запуск Composer корректно обновляет зависимости, используя:
"require" : {
"php" : ">=5.3",
"michelf/php-markdown" : "~1.7"},
Как описано в использование В разделе документации PHP Markdown Lib я установил PSR-0-совместимый автозагрузчик в своем composer.json
и сгенерировал autoload
файл:
"autoload" : {
"psr-0" : {
"Michelf\\Markdown" : "vendor/michelf/php-markdown/Michelf"}
},
В моем PHP-файле я просто включил следующее:
$input = file_get_contents('input.md');
use Michelf\Markdown;
$output = Markdown::defaultTransform($input);
Похоже, что Eclipse Neon правильно все распознает:
namespace
а также class
справедливо выглядеть как автозаполнения предложения (первый скриншот)Но, несмотря на все мои тесты с этими настройками, страница все еще показывает:
Неустранимая ошибка: класс ‘Michelf \ Markdown’ не найден
Я проверил другие составы, такие как use \Michelf\Markdown;
: он одинаково распознается Eclipse Neon (функция автозаполнения и контур документа, как показано на предыдущих снимках экрана), но я все еще получаю фатальная ошибка.
Чтобы убедиться, что файл автозагрузки был обновлен правильно, я также выполнил CLI dump-autoload
команда. К сожалению, без большего успеха в это время.
Прямо сейчас, я полагаю, эта проблема кажется не иметь прямого отношения к PHP Markdown Lib, но что я, безусловно, забыл шаг или допустил ошибку в моих настройках, которые, похоже, не в состоянии правильно настроить автозагрузчик PSR-0, даже если кажется, что все они правильно обнаружены в Eclipse IDE.
Вы не забыли включить автозагрузку композитора в начале файла?
require __DIR__ . '/vendor/autoload.php';
Других решений пока нет …