首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Symfony3中自动生成包?

如何在Symfony3中自动生成包?
EN

Stack Overflow用户
提问于 2017-08-02 09:54:34
回答 1查看 2.3K关注 0票数 0

我尝试在Symfony3中自动生成一个包,使用官方站点上的指令:https://symfony.com/doc/current/bundles.html,但失败了。

我在我的项目中创建了一个目录\src\TestBundle,其中包含一个文件TestBundle.php。我从Bundle扩展了类TestBundle,并在类声明之前添加了use Symfony\Component\HttpKernel\Bundle\Bundle;行。

我将我的新包名添加到AppKernel.php中的bundle列表中。

最后,当我执行$ php bin/console generate:bundle --namespace=TestBundle时,会得到以下错误:

PHP致命错误:未登录的Symfony\Component\Debug\Exception\ClassNotFoundException:试图从名称空间"TestBundle“加载类"TestBundle”。

知道为什么会这样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-02 09:57:20

如果您启动此命令:

代码语言:javascript
运行
复制
php bin/console generate:bundle --namespace=TestBundle

Symfony为您创建绑定,您不需要创建文件并将其添加到AppKernel文件中。

尝试删除所有关于TestBundle的文件和引用,在只启动命令之后,Symfony将为您创建并注册绑定。

相反,我需要手动创建thos文件,您需要创建目录\src\TestBundle,并在其中创建TestBundle.php文件。在您需要将它注册到您的AppKernel之后。在需要告诉composer加载该包之后,如果尚未完成,则在composer.json中为composer.json使用此配置

代码语言:javascript
运行
复制
"autoload": {
    "psr-4": {
        "": "src/"
    },
    "classmap": [
        "app/AppKernel.php",
        "app/AppCache.php"
    ]
},

最后,在控制台内启动命令:

代码语言:javascript
运行
复制
composer dump-autoload
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45457477

复制
相关文章

相似问题

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