基于web的信息系统的PHP/JavaScript设计模式
我已经写了很多年了,我发现自己处于一个挫折的境地。我正在开发一个新的基于web的服务,它也有一个UI,它将从头开发。它将使用一些开源组件,但它本身主要是一个新事物 但这是我的问题。构建这样一个系统意味着构建所有这些组件:基于web的信息系统的PHP/JavaScript设计模式,php,javascript,html,oop,frameworks,Php,Javascript,Html,Oop,Frameworks,我已经写了很多年了,我发现自己处于一个挫折的境地。我正在开发一个新的基于web的服务,它也有一个UI,它将从头开发。它将使用一些开源组件,但它本身主要是一个新事物 但这是我的问题。构建这样一个系统意味着构建所有这些组件: PHP后端 HTML视图 CSS样式 JavaScript前端 AJAX异步连接 我希望它们都遵循相同的“模式”,即系统中的一个模块由一个文件夹或一组文件组成,其中包含该模块中的所有组件 但是我很难得到我想要的架构。以下是我到目前为止的情况: 整个主系统或多或少都是用过程
- PHP后端
- HTML视图
- CSS样式
- JavaScript前端
- AJAX异步连接
- 整个主系统或多或少都是用过程化PHP编写的。这将解决请求URL,处理缓存、日志记录和调试,并在其他组件中加载
- PHP在构建页面时,加载模块特定的javascript文件、CSS文件、HTML文件和基于当前模块的其他组件。这意味着每个模块都尽可能轻量级,同时可以根据当前模块的需要进行扩展
- 系统还集成了对象(如“用户”或其他类型的类)的OOP组件,这些组件可以在系统范围内使用
- 该系统采用MVC原则构建,但没有OOP
谢谢 我什么都不知道,我的想法:
- 如果您不喜欢OOP代码,可能是设计错了。面向对象的思想是,对象非常自然地表示事物,因此它们应该非常容易处理。如果你不喜欢这种耦合,有一些技术可以解决
- 听起来您的MVC模式是错误的。HTML/CSS/JavaScript内容都应该在视图方面处理。在我看来,您使用了一些MVC原则,而忽略了其他原则。当然,如果没有代码,这只能是一种怀疑李>
- 看看桌面系统Cocoa、Objective Windows和其他面向对象的桌面系统早就解决了这些问题。创建视图、连接操作、定义回调。这映射到HTML模板视图、JavaScript绑定和AJAX请求中
- 运行时对象树。在敏捷工具包中,第一阶段是初始化。在此阶段,对象将相互插入。例如,您将按钮添加到表单中,并将表单添加到页面中。然后是呈现阶段,该阶段递归地从所有内容生成HTML。让组件回显HTML更有意义
- jQueryUI小部件。使用这些是解决许多问题的好方法。AgileToLokit中的视图可以与相应的jQueryUI小部件进行对话
- 您提到的对象是敏捷工具包中的“模型”。如果您正在寻找独立版本,您可以依赖一些ORM框架。我已经制定了自己的计划,使其与视图更紧密地结合在一起
- 重新考虑去耦合。如果您自己开发所有的系统,那么耦合会给您带来很多好处。特别是如果它是面向对象的体系结构,并且您继承了一些东西。您需要一些Java经验或桌面开发经验才能正确完成此任务