Symfony 4 捆绑工作

Symfony 4 bundles working

如何在 Symfony 4 上创建库包?

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

SensioGeneratorBundle 已被 Symfony Maker Bundle 取代 – 有关详细信息,请参阅 https://symfony.com/blog/introducing-the-symfony-maker-bundle

Fabien Potencier 在 Symfony 4 最佳实践博客中说 post "Bundle-less applications is just one of the best practices changes for Symfony 4".

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

您可以查看此 url 博客 post 关于主题 Symfony 4: Monolith vs Micro

只需尝试安装 GeneratorBundle:more info

composer require sensio/generator-bundle

然后您可以像这样生成 Bundle 之后:more info

php bin/console generate:bundle

首先创建一个 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],

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