我们编写了一个非常复杂的Web应用程序,它具有以下要求:
我想到的一种组织这种东西的方法是将Kohana HMVC级联风格扩展到更高级别。例如:
src/
htdocs/
v1/
device_group_phone/
device_iphone/
controllers/
views/
device_android/
controllers/
views/
device_default/
conrollers/
views/
device_group_tablet/
device_ipad/
controllers/
views/
device_default/
conrollers/
views/
device_group_default/
controllers/
views/
models/
v2/
...
...
...
modules/
system/
请求的提供方式是:
- Go to proper version.
- if there is a controller/view device(x),
then load it.
else, if there exists a controller/view for device_group(x)/device_default,
then load it.
else if there exists a controller/view for device_group_default
then load it.
答案 0 :(得分:2)
为什么不使用现有的Kohana级联文件系统?您的群组是模块,只需根据请求属性添加您需要的模块(通过Kohana::modules()
)。所以,如果你需要处理android设备,模块列表将是这样的: