我一直在编码多年,发现自己处于一种沮丧的状态。我正在研究一种新的基于Web的服务,该服务也具有UI,并且将从头开发。它会使用一些开源组件,但主要是一个新的东西。基于Web的信息系统的PHP/JavaScript设计模式
但这是我的问题。建立这样的系统意味着建立所有这些组件:
- PHP后台
- HTML视图
- CSS样式
- JavaScript的前端
- AJAX异步连接
我想他们都遵循相同的“模式”,以这种方式,系统中的模块由一个文件夹或一组文件组成,这些文件包含所有这些c该模块中的组件。
但是我很难得到这个架构,所以我很喜欢它。这是我到目前为止:
- 整个主系统或多或少写在程序PHP。这解决了请求URL,处理缓存,日志记录和调试,并加载到其他组件中。
- PHP在构建页面时,会根据当前模块加载模块特定的JavaScript文件,CSS文件,HTML文件和其他组件。这意味着每个模块都尽可能轻便,同时可以根据当前模块的需要进行扩展。
- 系统还包含可在系统范围内使用的对象(如“用户”或其他类的类)的OOP组件。
- 该系统是用MVC原则构建的,尽管没有OOP。
但是我确实感觉到 - 以过程方式构建主系统。我开始在OOP开始写它,但很快就发现自己头痛,因为必须让所有的东西都适合同一个系统。这是OOP,但它紧密结合,在写OOP方式时我不喜欢它,组件实际上并不是独立的,或者只是一个管理的麻烦。
是否有任何模式或指导我可以按照以获得更好的结果?我喜欢当前系统的是,我可以调用任何东西,预览视图呈现PHP或HTML视图,CSS样式,附加的Javascript函数和按需AJAX通信,保持脚部小巧玲珑,但感觉很脏。我甚至使用全局的主数据库连接(尽管它是一个全局对象)。
任何想法?如果它只是一种语言,那么它就不会成为一个问题,但试图让所有的东西一起工作有点让人头疼。
谢谢!
你已经研究数千种PHP框架的/ CMS系统的/ etc?有很多这方面的例子。 – Mat
它很难回答你的问题,因为你没有提出任何真正的问题。我目前正在研究这样一个几乎和你的系统一样的系统,但是有一些差异。我正在使用MVC/OOP。我无法想象你正在程序上处理它。我认为,直到你的项目有一些界限,在OOP中不应该有任何问题。 –
您可以查看企业应用程序架构模式,GoF模式等,并自己实施它们。然而,最简单的(也是最明显的)答案是查看框架(已经面对这个_exact_问题)是如何实现这些模式的,并且(a)使用框架或(b)将框架的方法调整到您的应用程序中。在你选择的范例中寻找开源框架,查看他们如何做事,并看看你的应用程序有什么样的嘲弄。 –