PHP模式 - 服务/模型/映射器/ Dao示例?

opH*_*AME 5 php design-patterns

是否有人知道使用以下4个"图层"的PHP应用程序的一些好例子

ServiceLayer --> Model --> DataMapper --> DAO

我不确定它是否有意义,但是当我使用这样的设计时,我必须执行以下操作以在我的数据库中创建新记录:

$servcie = new Service(new Mapper(new Dao));
$service->save($data)
Run Code Online (Sandbox Code Playgroud)

服务正在创建一个新的数据对象并将其传递给Mapper,Mapper将数据传递给提供的Dao ..

使用这种结构的意图是什么?

为什么不简单:

$model = new Model();
$model->save($data)
Run Code Online (Sandbox Code Playgroud)

模型正在保存到DB.

Lio*_*hen 3

理想情况下,模型应该与其存储或管理方式无关。它应该是数据的纯粹且可移植的表示(理想情况下,尽管在实践中通常并非如此)。控制器(或专用子控制器)应该是为模型处理此功能的控制器。