基于Web的信息系统的PHP / JavaScript设计模式

前端之家收集整理的这篇文章主要介绍了基于Web的信息系统的PHP / JavaScript设计模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经编码多年了,并且发现自己陷入了挫折之中.我正在开发一个新的基于Web的服务,它也有一个用户界面,它将从头开始开发.它将使用一些开源组件,但主要是一个新的东西.

但这是我的问题.构建这样的系统意味着构建所有这些组件:

> PHP后端
> HTML视图
> CSS样式
> JavaScript前端
> AJAX异步连接

我希望他们所有人都遵循相同的“模式”,系统中的模块由一个文件夹或一组文件组成,这些文件包含该模块中的所有组件.

但是我很难获得这个架构以便我喜欢它.这是我到目前为止:

>整个主系统或多或少都是用程序PHP编写的.这解决了请求URL,处理缓存,日志记录和调试以及加载其他组件.
> PHP,在构建页面时,根据当前模块加载模块特定的javascript文件,CSS文件,HTML文件和其他组件.这意味着每个模块都尽可能轻量级,同时可以根据当前模块需求进行扩展.
>系统还包含可在系统范围内使用的对象的OOP组件(例如“用户”或其他类型的类).
>该系统采用MVC原则构建,但没有OOP.

但我确实感觉真的很肮脏 – 以程序方式构建主系统.我之前确实开始在OOP中编写它,但由于必须使所有内容都适合同一系统,因此很快就发现自己陷入了困境.它是OOP,但它是紧密耦合的,我不喜欢它,虽然它是以OOP方式编写的,组件实际上不是那么独立,或者只是管理的麻烦.

我可以遵循任何模式或指南来获得更好的结果吗?我喜欢当前的系统是我可以调用任何东西,预览渲染PHP,或HTML视图,CSS样式,额外的Javascript函数和每个需求的AJAX通信,保持脚部非常小,但它感觉很脏.我甚至使用全局主数据库连接(尽管它是一个全局对象).

有任何想法吗?如果它只是一种语言就不会成为一个问题,但试图让所有事情协同工作是一件令人头痛的问题.

谢谢!

解决方法

http://agiletoolkit.org/完全符合您的要求.它的源代码可在 http://github.com/atk4/atk4获得,因此您可以从那里学习.

我在creating Agile Toolkit学到了很多东西.

>查看桌面系统. – Cocoa,Objective Windows和其他面向对象的桌面系统很久以前就解决了这些问题.创建视图,连接操作,定义回调.这映射到HTML模板化视图,JavaScript绑定和AJAX请求.
>运行时对象树.在Agile Toolkit中,第一阶段是初始化.在此阶段期间,对象被插入到彼此中.例如,您将Button添加到表单中并将表单添加页面中.然后是渲染阶段,从所有内容递归地生成HTML.这使组件回显HTML更有意义.
> jQuery UI小部件.使用它们是解决许多问题的好方法. Agile Tolokit中的视图可以与各自的jQuery UI Widgets交谈.
>您提到的对象是Agile Toolkit中的“模型”.如果您正在寻找独立版本,则可以依赖某些ORM框架.我已经完成了自己与视图的紧密集成.
>重新考虑去耦.如果您自己开发所有系统,那么耦合会给您带来很多好处.特别是如果它是面向对象的架构并且你继承了东西.您需要一些Java经验或桌面开发经验才能使这件事情正确.

链接

> What is Object Oriented Web Development
> Object Oriented Programming in PHP
> Execution steps in Agile Toolkit

猜你在找的HTML相关文章