2011-08-26 16 views
4

我一直在思考这个问题一段时间了,尽管有很多想法和许多尝试,但还没有能够概念化最好的方法。在数据库,服务器端代码和客户端代码方面,我需要了解如何最好地组织交互式Web应用程序的数据流的最佳实践。我现在使用的语言是数据库的MySQL,服务器端语言的PHP,以及客户端代码的JavaScript/CSS/HTML/jQuery。我试图找到一种聪明的方式来让用户安全地执行诸如从数据库中选择,更新,删除和插入等操作,并使其在网页中以漂亮的格式显示。有关制作PHP/Javascript/MySQL框架的建议?

我已经非常擅长制作精美的互动网站,编写出色的PHP应用程序,并设置有组织的和高效的数据库模式。然而,我一直在努力寻找一种将它们连接在一起的抽象和有效的方法。 我不想使用现有的框架。这根本就不是我的选择。我是需要了解事物的工作方式和行为方式的人。然而,我会看看一个现有的指针框架,但到目前为止,我所看到的所有框架大多只是让我困惑。

这里有一些事情要考虑我的框架:

  1. 的PHP代码从MySQL服务器返回的数据并返回JSON格式的客户端。例如,数据库查询的马丁·斯科塞斯的电影可能返回类似:

    { totalRecords: 2, records: [{ title: 'The Departed', year: '2006' }, { title: 'Goodfellas', year: '1990' }] } 
    

    客户端接收并解析此。

  2. 对于对数据库的无效调用,例如无效登录,最好是返回一个有效的HTTP响应为“false”(从而调用成功回调),或返回无效的HTTP错误消息(从而调用失败回调)。

  3. 我不确定如何设置PHP。我应该为每种类型的mysql操作(例如“SELECT”,“UPDATE”,“DELETE”和“INSERT”)创建一个函数吗?它应该只是一个函数库或全部包含在一个类中?由于某种原因,需要多个类或某种类的层次结构?数据访问有哪些好的做法?

  4. 我一直在使用jQuery的ajax函数来调用从客户端到服务器端来检索一个JSON字符串,然后解析它。成功的回调函数在成功的调用上被调用,它接收JSON格式的字符串。从这里我几乎不知道该怎么做。我正在考虑将返回的JSON字符串发送到某种类型的函数中,该函数将解析JSON并返回类似HTML格式的表格以显示结果。但是,我不确定如何设置类层次结构。

  5. 我在工作中老板告诉我,看起来像这样的层次结构:

Diagram, though I am not completely sure how it works

不过,我并不完全确定为什么需要这么多的作品,如数据 - 连接器,适配器,管理器/提供程序,控制器和视图。我相信我会需要其中的一些,但不是全部,我也不确定建立班级结构的最佳方法是什么。请注意,我对MVC方法有点新鲜。

该代码需要尽可能抽象和可重用!目前我有很多意大利面代码,它让我在里面哭泣:' - (

所以呃...这就是我目前所在的地方,任何帮助都将不胜感激,因为我觉得自己是一个如果你能够提供你自己的框架的任何见解,或者花时间阅读我的长篇文章并评估我自己的框架,任何输入,使我以不同的方式思考它。:-)

+0

更好的问在http://programmers.stackexchange.com? – Problematic

+2

“需要了解事物的工作方式和做事方式”,而这对于现有的框架是不可能的? – DrColossos

回答

3

阅读本书:http://martinfowler.com/books.html#eaa或类似的设计模式。考虑重新审视现有的开源框架并提出问题。我从个人经验中知道,在复杂项目的研究和设计之前进行编码是一种浪费。即使你没有从中产生任何东西,你也会学到一些有用的东西。

+0

+1“研究和设计之前的编码是浪费” – Xeoncross

1

我明白你的目标是让自己的框架,但我仍然想建议你开始之前,你应该研究了当前所有主流平台的水平,你真正了解它们是如何工作以及为什么某些设计决策有已经制成。每一个设计选项都有它的专业和设计,并且设计一个框架是做出正确折中的一种艺术。