2016-11-23 30 views
1

我設法安裝Parsedown使用作曲家與作曲家及Parsedown - 類 'UserFrosting \ Parsedown' 未找到

"require": { 
     ... 
     "erusev/parsedown": "^1.6" 
    }, 

,並添加了類路徑自動加載部分

"autoload": { 
    "classmap" : [ 
     "controllers", "middleware", "models", "plugins", "vendor/erusev/parsedown" 
    ] 
} 

但當我嘗試執行這條線時...

$Parsedown = new Parsedown(); 

...我結束了wi次此錯誤:

Class 'UserFrosting\Parsedown' not found

運行PHP composer.phar轉儲自動加載沒有幫助。

我在這裏錯過了什麼?爲什麼Parsedown預計在UserFrosting下 - UserFrosting \ Parsedown?

以下是完整的composer.json:

{ 
    "name": "userfrosting/UserFrosting", 
    "type": "project", 
    "description": "A secure, modern user management system for PHP.", 
    "keywords": ["php user management", "usercake", "bootstrap"], 
    "homepage": "https://github.com/userfrosting/UserFrosting", 
    "license" : "MIT", 
    "authors" : [ 
     { 
      "name": "Alexander Weissman", 
      "homepage": "https://alexanderweissman.com" 
     } 
    ], 
    "require": { 
     "birke/rememberme" : "1.0.4",  
     "illuminate/database" : "5.0.33", 
     "league/csv": "8.1.*", 
     "nikic/php-parser" : "~1", 
     "php" : ">=5.4.0", 
     "phpmailer/phpmailer" : "5.2.10",   
     "twig/twig" : "~1.0", 
     "slim/slim" : "2.*", 
     "slim/views" : "0.1.3", 
     "userfrosting/fortress" : "1.*", 
     "wikimedia/composer-merge-plugin": "~1", 
     "components/highlightjs": "9.8.0", 
     "aws/aws-sdk-php": "3.*", 
     "erusev/parsedown": "^1.6" 
    }, 
    "extra": { 
     "merge-plugin": { 
      "include": [ 
       "plugins/*/composer.json" 
      ], 
      "recurse": true, 
      "replace": false, 
      "merge-dev": true, 
      "merge-extra": false 
     } 
    }, 
    "autoload": { 
     "classmap" : [ 
      "controllers", "middleware", "models", "plugins", "vendor/erusev/parsedown" 
     ] 
    } 
} 
+0

[UserFrosting&AWS SDK]的可能重複(http://stackoverflow.com/questions/40595182/userfrosting-aws-sdk) – alexw

回答

3

貌似你試圖在一類命名空間UserFrosting執行這行代碼$Parsedown = new Parsedown();

無論是在你的PHP文件的頂部添加use塊,像這樣:use Parsedown;(這應該是命名空間聲明之後),或者當你使用它,像這樣鍵入類名稱前一個反斜槓:$Parsedown = new \Parsedown();。後者將開始在根命名空間中尋找這個類。

您不需要將此類添加到composer.json文件的自動加載類圖部分。如果一個軟件包被作曲者拉出,作曲家將在運行dump-autoload之後自動將所有內容添加到自動加載器。