2017-03-11 25 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

很明顯,我不知道我是怎麼錯過的...... –