php-Yii ActiveRecord与存储库模式
作者:互联网
这些方法既有优点也有缺点.
我正在使用Yii开发中型应用程序.
Yii已采用AR模式并默认支持它.使用存储库模式的优点非常明显,但问题是:我是否真的应该花时间在与Yii结合实施存储库模式上?
我也想知道您对这两种模式的看法.我还想知道为什么AR如此流行和如此频繁地使用?我认为存储库模式更灵活,更可测试,代码更简洁并且可以更好地集成到企业应用程序中.
我应该继续对Yii使用AR模式吗?
我也在考虑从Yii切换到Laravel.在这一刻,我不会因此而失去很多工作.
解决方法:
对我而言,ActiveRecord在小型项目中相当不错,但对于中型或大型应用程序,则很难维护.
Yii ActiveRecord的优点
>使用Yii AR可以加快编码速度.所有AR模型和控制器都可以由gii一键生成.
> AR非常受欢迎.几乎所有开发人员都熟悉这种模式.新的团队成员可以更快地投入该项目.
Yii ActiveRecord的缺点
对于Yii,太多的逻辑集中在AR模型类中:
>验证
>查找方法
>业务逻辑
这使代码:
>可读性较差.通常,AR类由几十个不相关的方法组成.可以使用behaviors或traits分解逻辑.但是,实际上仍然很难维护.
>难以测试.
当应用程序变得足够大时,需要在Controller和AR模型之间添加额外的层.存储库是一个不错的选择.对于我来说,我开始在Laravel中使用存储库,但是现在我也在Yii 1/2中使用它.
在Yii中实现存储库实际上不是问题. Yii的AR与Laravel的Eloquent非常相似.迫使所有团队成员不直接使用AR,而是使用存储库要困难得多.
如果您有Laravel的经验,建议您使用它.
标签:activerecord,repository-pattern,yii,php 来源: https://codeday.me/bug/20191029/1957030.html