iii*_*rxs 3 php dependency-injection software-design symfony laravel
我注意到,laravel程序员通常使用特质来在控制器中实现某种类型的依赖注入,而且laravel本身也会使用很多特质来实现对我来说似乎是服务的东西。
我来自symfony,那里的框架本身并没有广泛使用特征,由于这种原因(不是很清晰的设计),我发现使用trait有点奇怪。服务不应该在自己的类中定义吗?将特征用于服务是否可以接受?
小智 5
我注意到以前的答案尚未被接受,所以我想给自己2美分。
也来自Symfony 2环境,目前正在参与Laravel并为Symfony 3环境做准备,我也正在阅读这个主题,因为我曾经读过特质是邪恶的。以下链接具有一个可接受的答案,在我看来这不是一个很主观的答案,它做出了一些合理的假设,并且似乎构筑得很好:https : //codereview.stackexchange.com/questions/74077/trait-accessing-variables-使用它的类
但是,我认为与您最大的不同可能是默认的Laravel使用ActiveRecord,而不是使用Symfony使用的Service / Repository层。我个人更喜欢后者,因为它不那么笨重,可以更轻松地实现SOLID,逻辑和数据通常已经解耦,从而使各层更易于交换。无论如何,这不是一个话题,而且非常个人化。
在Laravel工作了几个月(相比之下,我在sf2(和sf1)工作了多年),我对Laravel的工作方式几乎不是专家。就我个人而言,我仍然不喜欢特质,因为如果您至少不使用它们,它们对我来说太神奇了。我经常认为通过其他设计模式可以更好地处理它。
TL; DR :(基本上是链接的要点)
| 归档时间: |
|
| 查看次数: |
1483 次 |
| 最近记录: |