【发布时间】:2017-08-01 15:42:37
【问题描述】:
我目前正在尝试使用 Composer(第一次)在 Eclipse Neon PDT 上使用 Composer Eclipse Plugin 和 EGit 从头开始构建一个新的 PHP 项目(在 git 存储库中)。
为了从一些非常简单的开始,我首先安装了著名的库PHP Markdown Lib。我认为我在配置 require 设置时没有遇到问题,因为运行 Composer 可以正确更新依赖项:
"require" : {
"php" : ">=5.3",
"michelf/php-markdown" : "~1.7"
},
如 PHP Markdown Lib 文档的 Usage 部分所述,我在 composer.json 中设置了一个兼容 PSR-0 的自动加载器并生成了 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 命令。不幸的是,目前没有更多的成功。
现在,我想这个问题似乎是to be not directly related with PHP Markdown Lib,但我肯定忘记了一个步骤或在我的设置中犯了一个错误,这似乎无法正确设置 PSR-0 自动加载器,即使一切似乎都是被 Eclipse IDE 正确检测到。
【问题讨论】:
-
尝试删除
Markdown位,因为它看起来不像是命名空间的一部分。
标签: php eclipse composer-php autoload psr-0