2017-03-11 90 views
0

我正在尝试在Eclipse上使用Composer(首次使用)从头开始构建新的PHP项目(在git存储库中)霓虹灯PDT Composer Eclipse PluginEGit在Eclipse上使用Composer PSR-0自动加载器发现错误“Class not found”霓虹灯PDT

为了从一些非常简单的事情开始,我首先安装了着名的库PHP Markdown Lib。我想,我没有用于配置require设置越来越问题,如跑步作曲家正确使用更新的依赖关系:

"require" : { 
    "php" : ">=5.3", 
    "michelf/php-markdown" : "~1.7" 
}, 

如PHP降价库的文档的Usage节所述,我设置一个PSR-O-在我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的霓虹灯正确识别:

  1. namespaceclass正确地显示为自动完成命题(第一截图)
  2. 库显示在文档的轮廓为导入声明(第二截图)

namespace-class

outline

但是,尽管我所有的testings使用这些设置,页面仍然显示:

Fatal error: Class 'Michelf\Markdown' not found

我已经测试过其他制剂,如use \Michelf\Markdown;:它同样由Eclipse的霓虹灯(认可自动完成功能和文档大纲,如前面的截图所示),但我仍然得到致命错误

为确保自动加载文件更新正确,我还执行了CLI dump-autoload命令。不幸的是,目前没有更多的成功。

现在,我想这个问题似乎是to be not directly related with PHP Markdown Lib,但我当然忘记了一个步骤或在我的设置中犯了一个错误,这似乎无法正确设置PSR-0自动加载器,即使看起来都是正确的由Eclipse IDE检测到。

+0

尝试删除'Markdown'位,因为它看起来不像它是名称空间的一部分。 – apokryfos

回答

1

您是否记得在文件开头包含作曲家自动加载?

require __DIR__ . '/vendor/autoload.php'; 
+0

很明显,我不知道我是怎么错过的...... –