微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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类由几十个不相关的方法组成.可以使用behaviorstraits分解逻辑.但是,实际上仍然很难维护.
>难以测试.

当应用程序变得足够大时,需要在Controller和AR模型之间添加额外的层.存储库是一个不错的选择.对于我来说,我开始在Laravel中使用存储库,但是现在我也在Yii 1/2中使用它.

在Yii中实现存储库实际上不是问题. Yii的AR与Laravel的Eloquent非常相似.迫使所有团队成员不直接使用AR,而是使用存储库要困难得多.

如果您有Laravel的经验,建议您使用它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐