在 Eclipse Neon PDT 上使用 Composer PSR-0 自动加载器时出现错误 "Class not found"
Error "Class not found" using Composer PSR-0 autoloader on Eclipse Neon PDT
我目前正在尝试从头开始构建一个新的 PHP 项目(在 git
存储库中),使用 Composer(这是第一次),在 Eclipse Neon PDT 上使用 Composer Eclipse Plugin and EGit.
为了从简单的开始,我首先安装了著名的库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
正确地显示为 自动完成 命题(第一个屏幕截图)
- 库在文档大纲中显示为导入声明(第二个屏幕截图)
但是,尽管我使用这些设置进行了所有测试,页面仍然显示:
Fatal error: Class 'Michelf\Markdown' not found
我已经测试了其他公式,例如 use \Michelf\Markdown;
:它同样被 Eclipse Neon 识别(自动完成功能和文档大纲,如之前的屏幕截图所示),但我仍然得到 致命错误.
为确保自动加载文件正确更新,我还执行了 CLI dump-autoload
命令。不幸的是,目前没有更多的成功。
现在,我想这个问题似乎 to be not directly related with PHP Markdown Lib,但我确实忘记了一个步骤或在我的设置中犯了一个错误,这似乎无法正确设置 PSR-0 自动加载器,即使所有这些似乎都被 Eclipse IDE.
正确检测到了
你记得在文件开头包含 composer autoload 吗?
require __DIR__ . '/vendor/autoload.php';
我目前正在尝试从头开始构建一个新的 PHP 项目(在 git
存储库中),使用 Composer(这是第一次),在 Eclipse Neon PDT 上使用 Composer Eclipse Plugin and EGit.
为了从简单的开始,我首先安装了著名的库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
正确地显示为 自动完成 命题(第一个屏幕截图)- 库在文档大纲中显示为导入声明(第二个屏幕截图)
但是,尽管我使用这些设置进行了所有测试,页面仍然显示:
Fatal error: Class 'Michelf\Markdown' not found
我已经测试了其他公式,例如 use \Michelf\Markdown;
:它同样被 Eclipse Neon 识别(自动完成功能和文档大纲,如之前的屏幕截图所示),但我仍然得到 致命错误.
为确保自动加载文件正确更新,我还执行了 CLI dump-autoload
命令。不幸的是,目前没有更多的成功。
现在,我想这个问题似乎 to be not directly related with PHP Markdown Lib,但我确实忘记了一个步骤或在我的设置中犯了一个错误,这似乎无法正确设置 PSR-0 自动加载器,即使所有这些似乎都被 Eclipse IDE.
正确检测到了你记得在文件开头包含 composer autoload 吗?
require __DIR__ . '/vendor/autoload.php';