我一直在寻找一个好的架构模型一段时间了。我认为在一个好的应用程序中应该有控制器和模块,它们应该是不同页面上的可重复部分。例如购物车 - 如果您在在线商店工作,您几乎在每个页面上都需要它。
对我来说,另一个要求是它应该支持轻松更改网站的样式(主题|皮肤) - 这可以通过决定两部分的样式来实现 - 视图和资产(css,图像,javascript)。这意味着所有视图都应位于一个位置,而不是像模块化扩展那样。
最后,它的目录结构应该看起来像这样:
应用/ ├────控制器/ | ├────首页.php | └────产品展示.php ├────模块/ | └────购物车.php └────观点/ └────style_blue/ ├────首页.php ├────产品展示.php └────模块/ └────购物车.php资产/ └────style_blue/ ├────css/ | └────风格.css ├────JS/ | └────jquery.js └────图片/ └────标题.png
这是完美的架构,不是吗?
- 它可以通过新的模块和控制器进行扩展。
- 它可以有不同的样式(皮肤|主题)
- 它非常简单,同时又具有功能性
我是CodeIgniter的忠实粉丝,我想用它实现类似的东西。是否有适合我的附加组件?
您可以在 http://www.getsparks.org 中查看一些附加组件。
我相信这就是您的自定义样式所需要的:http://getsparks.org/packages/template/versions/HEAD/show
它可以根据描述处理多个主题。此外,这个库非常方便。(我正在使用它,只是还没有使用主题部分)。
此外,对于模块,也许这就是您需要的?https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home