2016-11-23 46 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之后自动将所有内容添加到自动加载器。