在Symfony 4.2中安装捆绑包后如何运行脚本或方法?

时间:2019-04-26 12:09:31

标签: symfony bundle symfony-4.2

我正在为Symfony 4.2应用程序构建一个新的捆绑软件,并且我想在捆绑软件安装后只运行一次特定的代码一次,以便在根项目中设置一些框架类。类似于制造商捆绑包,但没有手动交互。 已安装的捆绑软件应修改另一个捆绑软件的现有配置yaml(当然,安装后一次)。

我试过使用软件包的composer.json脚本部分,但没有走运。我没有在官方文档中找到如何解决此问题的参考。

有什么方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

Symfony Flex是一种用于自动安装和删除捆绑软件及其他依赖项的工具。

您需要在此处为​​捆绑包添加recipehttps://github.com/symfony/recipes-contrib

如果您的捆绑包是私人的,则可以使用 Private Symfony Flex Recipes Repository

更新:@Mitesh Vasava方法将不起作用,因为首先,您需要将脚本手动设置到项目的 index value 1 1 10 2 2 20 3 3 30 中,而不是捆绑包中的composer.json中。其次,此脚本将在每次安装后运行,而不仅仅是在安装捆绑软件之后运行。

答案 1 :(得分:1)

您可以按照@BoShurik的说明为Symfony Flex创建官方配方,也可以创建一个作曲家插件,您可以阅读有关here的信息。

基本方法是创建一个单独的软件包,将其用作安装程序,然后将其放在您的软件包中。

您的插件可以根据需要修改源代码。

答案 2 :(得分:0)

在执行composer安装或更新命令时,您必须在composer.json中定义脚本:

{
    "scripts": {
        "auto-scripts": [
        ],
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    }
}

您将在此link

中获得更多详细信息