我正在学习Symfony2
,我发现依赖注入内容和服务容器很有趣。
但我想知道我是否应该在服务容器中创建所有逻辑,然后将其称为表单控制器,或者我可以使用旧方法(在需要时创建类并实例化它们)?
答案 0 :(得分:3)
以下是关于此主题的official documentation,
“思考”服务“的好处是,您开始考虑将应用程序中的每个功能分成一系列服务。因为每个服务只做一个工作,您可以轻松访问每项服务,并在任何需要的地方使用其功能。每项服务也可以更轻松地进行测试和配置,因为它与应用程序中的其他功能分开。这个想法被称为面向服务的体系结构并且并非Symfony2 甚至PHP独有。围绕一组独立服务类构建应用程序是一个众所周知且值得信赖的面向对象的最佳服务-practice 。这些技能是几乎所有语言中优秀开发者的关键。“
换句话说,将公共逻辑(在应用程序中使用全局)转换为服务是一种很好的做法。
答案 1 :(得分:1)
从我的角度来看,容器的作用是使整个应用程序可以使用所有通用逻辑。
它可以替代所有全局数组($ _REQUEST,$ _GLOBALS等等),全局变量,全局常量(相对于类常量,仍然有用),全局函数以及所有这些使PHP成为一种相当混乱的语言。它旨在使PHP成为它想要的完整OOP语言。
它煽动一个人避免PHP仍然允许的程序编程,这很好。
简而言之,您仍然可以通常的方式实例化和使用类。但是,无论何时发现两段代码,或使用相同的逻辑,或重用相同的信息,这通常意味着您希望使用服务容器来帮助重用代码。