Magento 2团队开发

时间:2019-02-07 13:07:59

标签: php mysql magento

我们目前正从Magento 1.9更改为2.3,并希望在团队中发展。使用Magento 1.9,我们可以相对简单地重写配置,以便我们可以使用相同的数据库,使用SVN对项目进行版本控制,并且每个开发人员都可以在其域中工作。例如:

  • magento.tk(开发人员1)
  • magento.sg(开发人员2)

现在我们已经调整了app / etc / env.php中的基本URL问题:

    'system' => [
    'default' => [
        'system' => [
            'smtp' => [
                'host' => 'localhost',
                'port' => '25'
            ]
        ],
        'web' => [
            'unsecure' => [
                'base_url' => 'http://magento.tk/',
                'base_link_url' => '{{unsecure_base_url}}'
            ],
            'secure' => [
                'base_url' => 'https://magento.tk/',
                'base_link_url' => '{{secure_base_url}}'
            ],
            'default' => [
                'front' => 'cms'
            ],
            'cookie' => [
                'cookie_domain' => 'test'
            ]
        ],
    ],

到目前为止也可以,但始终仅在一个域上有效。更改env.php后,我们运行setup:upgrade,这使商店可以在本地工作,但是由于我们可能使用相同的数据库,所以我们不能由一个人进行开发,否则会出现以下错误:

1 exception(s): Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration file has changed. Run the "app:config:import" or the "setup:upgrade" command to synchronize the configuration.

其他开发者这样做时,其他所有人都可以得到。有没有办法让它在本地运行?

本地效果:

另一个问题是性能。如果我们以开发人员模式在本地或在线调用项目(由于开发而关闭了缓存),则前端和后端的加载时间会很长且很缓慢。已安装的Magento 2.3版没有安装大插件,仅安装了一个主题,但是加载时间是灾难性的-后端和前端加载都非常长,并且延迟了开发。这里有什么技巧可以使系统正常运行?

非常感谢您可能需要的任何帮助和提示:-)

1 个答案:

答案 0 :(得分:0)

1 /方法论

由于Magento 2,您应该稍微回顾一下您的工作方法。通过更改Magento版本,您也可以将工具更改为较新的版本。

Docker 是复制开发环境的绝佳工具。

可以使用其他版本控制方法。我不知道SVN(我正在使用Git)。但在这种情况下:

  • 我们有一个开发分支,我从事的eveyone是自己的环境和他自己的分支。

  • 任何任务完成后,开发人员都会在自己的分支中合并dev分支以解决冲突

  • 然后,开发人员将自己的分支合并到dev分支

2 /本地效果

我习惯于甚至将缓存用于开发……否则,表演可能会太糟糕了!

当然,在更改配置,产品和类别时,您必须清除缓存。但是作为开发人员,这不是我们的工作(以及为什么不使用php bin/magento c:c;php bin/magento c:f; CLI命令)。

有了这些简单的窍门,您将每周赚几小时