gpt4 book ai didi

symfony - 有订单的Symfony2灯具-更好的方法

转载 作者:行者123 更新时间:2023-12-01 15:19:48 24 4
gpt4 key购买 nike

在DoctrineFixturesBundle中,如果我想按指定的顺序执行灯具,则必须在任何灯具类方法中创建,如下所示:

public function getOrder()
{
return 2;
}

指定顺序不是一种舒适的方法。

在Laravel Framework中,我可以这样做:
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call('PositionsSeeder');
$this->call('UsersSeeder');
$this->call('PostsSeeder');
}
}

我的问题是:我可以在symfony中这样做吗?

我看到一个解决方案。我可以使用以下代码制作BaseFixture:
class LoadBrandData extends AbstractFixture
{
public function load(ObjectManager $manager)
{
(new LoadPositionsData())->load(manager);
(new LoadUsersData())->load(manager);
(new LoadPostsData())->load(manager);

}
}

但也许我可以做得更好。我可以吗?

最佳答案

即使您不喜欢它,最好的方法是通过getOrder()方法。

话虽如此,至少有两个技巧可以用来以其他方式设置顺序:

  • 在一个文件中定义所有灯具。如果您没有定义很多装置,这才有意义。
  • 在一个目录中定义所有灯具,并将加载顺序作为文件名的一部分(它们是按字母顺序加载的)。仅当您遵循单捆绑方法开发Symfony应用程序时,此方法才有效。
  • 关于symfony - 有订单的Symfony2灯具-更好的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33234690/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com