首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Composer & Parsedown -类“UserFrosting\\Parsedown”未找到

Composer & Parsedown -类“UserFrosting\\Parsedown”未找到
EN

Stack Overflow用户
提问于 2016-11-23 09:08:23
回答 1查看 1.5K关注 0票数 1

我设法使用composer安装Parsedown

代码语言:javascript
复制
    "require": {
        ...
        "erusev/parsedown": "^1.6"
    },

并将类路径添加到autoload部分。

代码语言:javascript
复制
"autoload": {
    "classmap" : [
        "controllers", "middleware", "models", "plugins", "vendor/erusev/parsedown"
    ]
}

但当我试图执行这一行时..。

代码语言:javascript
复制
    $Parsedown = new Parsedown();

..。我最后犯了这个错误:

类“UserFrosting\Parsedown”未找到

运行php composer.phar转储-autoload没有帮助。

我在这里错过了什么?为什么在UserFrosting\Parsedown?- UserFrosting下预期会出现Parsedown

下面是完整的composer.json:

代码语言:javascript
复制
{
    "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"
        ]
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-23 10:50:32

看起来,您正在尝试在具有命名空间$Parsedown = new Parsedown();的类中执行这行代码UserFrosting

或者在php文件的顶部添加一个use块,比如:use Parsedown; (这应该在名称空间声明之后),或者在使用它时在类名之前键入反斜杠,比如:$Parsedown = new \Parsedown();。后者将开始在根命名空间中查找该类。

您不需要将这个类添加到composer.json文件的autoload部分。如果一个包是由编写器提取的,那么在运行dump-autoload之后,编写器将自动将所有内容添加到自动加载程序中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40760083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档