【问题标题】:Symfony 4 bundles workingSymfony 4 捆绑包工作
【发布时间】:2018-05-15 14:18:04
【问题描述】:

如何在 Symfony 4 上创建库包?

在 Symfony 3 中我使用这个命令:php bin/console generate:bundle 但在新版本中不起作用。 是否可以使用像 Symfony 3 这样的包,例如,如果不可能,我有博客包和电报机器人包如何在 Symfony 4 中模拟?

【问题讨论】:

标签: symfony bundle symfony4


【解决方案1】:

SensioGeneratorBundle 已被 Symfony Maker Bundle 取代 - 请参阅 https://symfony.com/blog/introducing-the-symfony-maker-bundle 了解更多信息。

【讨论】:

  • 请告诉我命令之类的示例,我在这里找不到答案
  • @A.Seddighi 如果您无法理解链接,那么现在最好坚持使用 S3.4。在撰写本文时,Symfony 4 昨天刚刚发布,需要一些阅读才能理解。我还应该指出,您很可能不想创建捆绑包。
  • @Cerad 那么你现在如何让你的应用在 Symfony 4 中解耦呢? SoC(Seperation of Concerns)是主要的 Symfony 2 和 3 范例,该框架非常有助于保持这条规则的正确性。
  • @forsberg Symfony 2 首次发布几年后,创建者发布了一个所谓的Best Practices 文档,其中不鼓励使用特定于应用程序的包。有时我发现创建特定于应用程序的捆绑包仍然有意义。通常当捆绑包是真正独立的并且需要一些额外的配置时。但要开始使用,通常最好遵循推荐的做法。
  • @Cerad 是的,我知道最佳实践。 “劝阻”部分适用于不能在其他应用程序中“按原样”使用的捆绑包(请参阅symfony.com/doc/current/best_practices/…)。但是,我确实创建了可重复使用的捆绑包。关于脱钩的问题仍未得到解答。
【解决方案2】:

Fabien Potencier 在 Symfony 4 最佳实践博文中说“无捆绑应用程序只是 Symfony 4 的最佳实践变化之一”。

你不能生成新的包,你可以为你的整个项目使用默认的“App”包。

您可以查看此网址以获取有关主题的博客文章 Symfony 4: Monolith vs Micro

【讨论】:

  • 我想为共享代码等生成库包。像学说或guzzleHttp
  • 我很抱歉我的回答太晚了,我希望你在发表评论之前已经解决了你的问题。我希望我理解正确。如果你想为所有 symfony 4 项目创建一个包并且你想发布 flex 包管理器,请阅读下面的最佳实践页面。 Best Practices for Reusable Bundles
【解决方案3】:

尝试安装 GeneratorBundle:more info

composer require sensio/generator-bundle

然后你可以像这样生成你的Bundle:more info

php bin/console generate:bundle

【讨论】:

    【解决方案4】:

    首先创建一个src/Acme/TestBundle/ 目录并添加一个名为AcmeTestBundle.php 的新文件:

    // src/Acme/TestBundle/AcmeTestBundle.php
    namespace App\Acme\TestBundle;
    
    use Symfony\Component\HttpKernel\Bundle\Bundle;
    
    class AcmeTestBundle extends Bundle
    {
    }
    

    在 config/bundles.php 中添加这一行后:

    App\Acme\TestBundle\AcmeTestBundle::class => ['all' => true],
    

    【讨论】:

      【解决方案5】:

      自 Symofony 2.x 以来,创建包的逻辑没有改变。但是现在包只是包,用于可重用的功能。 如果您想开发自己的捆绑包,只需关注此帖子Symfony2 - creating own vendor bundle - project and git strategy 由于 4.x 不再支持 Symfony Generate Bundle,您必须关注其他帖子:Best Practices for Reusable Bundles

      【讨论】:

        猜你喜欢
        • 2018-12-31
        • 1970-01-01
        • 2011-02-21
        • 1970-01-01
        • 1970-01-01
        • 2019-12-13
        • 2018-10-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多