<分区>
我问过几个开发者,每次都得到不同的答案。
假设我在 MVC 框架中工作,并且我有一个名为 validator
的类。假设这个对象有一堆方法可以用来告诉你电子邮件或电话号码是否有效,或者给定的值是否确实包含内容。
假设我想让这个服务成为我正在创建的模型的属性。我可以简单地将它注入(inject)到我的模型类的构造方法中。但是,此服务在 MVC 中的什么位置适合?是模型吗?
文件应该存放在哪里?与模型?在它自己的目录中,也许叫做 services
?
<分区>
我问过几个开发者,每次都得到不同的答案。
假设我在 MVC 框架中工作,并且我有一个名为 validator
的类。假设这个对象有一堆方法可以用来告诉你电子邮件或电话号码是否有效,或者给定的值是否确实包含内容。
假设我想让这个服务成为我正在创建的模型的属性。我可以简单地将它注入(inject)到我的模型类的构造方法中。但是,此服务在 MVC 中的什么位置适合?是模型吗?
文件应该存放在哪里?与模型?在它自己的目录中,也许叫做 services
?
最佳答案
我认为我对 mvc 中的模型有不同的看法 [遗憾的是没有双关语],但服务绝对应该进入模型层。
首先,模型不应该是类。该模型是一个模型,属于一个应用程序。应用程序在不同的事物中建模(包含在模型层中):实体、映射器、服务。
例如,这可能是代表这个概念的文件层次结构:
application Controller Model Entities Mappers Services View
Say I want to make this service a property of a model that I'm creating. I can simply inject it into the construction method of my model class. However, where does this service fit in in MVC? Is it a model?
我会假设“模型”如您所说,它确实是一个实体
,一个代表领域概念的对象。在这种情况下,服务不应是实体的属性。 Controllers 应该使用服务来做他们被调用要做的任何事情,然后 Mappers 会根据服务所做的结果构建您的实体。
我目前的理解很大程度上来自this答案,你一定要阅读它以加深理解。
关于php - MVC 中的服务去哪里了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38579325/