嗨,大家好,我对如何在基于Zend Framework的应用程序中使用模块感到困惑 - 从我读过的模块中,应用程序中的应用程序,但是在模块内容和控制器内部可以处理的内容之间的线条模糊不清。例如像在您具有以下特征的家庭预订应用程序:在基于Zend Framework 1的应用程序中设置模块的正确方法
内部管理 率管理 网上预订+预订管理
认为我们有三种类型的用户的管理员用户,客户谁使预订和谁拥有房子的设立登记将如何建立我们的模块即会我们有一些像楼主:
admin
->controllers
->houseController
->rateController
->bookingController
->customersController
landlord
->controllers
->houseController
->rateController
->bookingController
customer
->controllers
->bookingController
,或者它会是这样的:
modules
->Booking
->Rate
->Customers
后一种格式看起来有点像把控制器变成模块 - 这里的正确方法是什么?
在原始列表中 - 每个模块都有重复的控制器。差别非常小,例如:houseController,例如在管理模块中 - 管理员可以查看所有房东的所有房屋,而房东只能查看他们自己的房屋。从技术上讲,我重复了90%的代码,这似乎并不是正确的做法,因为我不认为可以使用ACL限制可查看的列表。这种逻辑的正确方法是什么?
我也可能会推动大部分模型最多应用程序级别,因为它们可能会在所有模块中使用。 –
那么他们似乎重复的原因是因为每个用户都有不同的看法,例如:管理员可以查看所有房主的所有房屋,而房主只能查看自己的房屋。这几乎是这里唯一的区别,看起来有点像矫枉过正,在这里重复了将近90%的控制器和视图。这是处理这种逻辑的正确方法吗? – Ali
只是一个普遍的评论:如果你不得不重复,你的架构还不正确。在这种情况下,你会在模型中处理这个。基于访问权限,你检索更多或更少的数据... – udo