我制作了一个Symfony2包,它可以很好地与senoframeworkextramplle 2.x一起工作
但是从Symfony 2.4开始,使用的senoframeworkextrabundance是3。x和apply()
和supports()
方法签名已经改变。
这迫使我维护我的包的两个版本…
有没有一种方法可以轻松处理这种情况?
有没有我没想到的好办法?
因为在两个"相同"的版本上管理更新和修复是非常繁琐的,并行生活(修改主分支,提交,切换到其他分支,挑选主提交,推送两个版本,每次创建两个版本…)
一般来说,如果你的依赖API发生了变化,你就会制作一个新版本——也就是它的新主版本。
无论如何,如果这两个方法是唯一困扰你的事情,你应该写一个适配器,它将一方面向你的类公开固定的标准API,而另一方面它将知道如何使用不同版本的依赖API的不同/特定API。这样,您就不必维护代码的两个几乎相同的版本,而只需在一个版本中维护适配器。这样,您的代码将依赖于该适配器而不是依赖项本身,因此您可以调整适配器以适应新版本的依赖项,而无需更改其余代码。