我们正在将旧应用程序迁移到Laravel。旧应用程序管理不同的项目,并为主应用程序提供“管理”数据库,并为每个项目创建一个新数据库。我们宁愿保留这种结构,但它会为迁移等事情带来一些问题。
最初我们创建了自己的基本命令来实现handle()
函数,这样任何扩展此命令的命令都将遍历所有项目数据库。这意味着我们已经更改了结构,因此迁移被分成两个目录,因为我们对不同类型的数据库进行了“admin”和“project”迁移。如果它不能与开箱即用的实现一起使用,我们还会复制已经存在的每个Laravel命令。
然而,这会产生大量重复代码,因为我们创建了自己的migrate命令实现,它只是将调用传递给Laravels自己的migrate命令。我现在发现自己必须在我们的新命令中实现--force
选项。
所以我想做的是以某种方式覆盖所有Laravel控制台命令中的handle()
函数。 有更好的方法来实现这一点吗?
答案 0 :(得分:0)
您可以为工匠类创建自己的基类,并从中扩展命令。