我正在开发一个Web应用程序,我正在使用PHP和Javascript。今天,我开始绘制所有的设计类图,但我不确切知道如何混合这两种技术。
我认为以下内容应该是好的:
但是,实际上,我不确定在类名中输入.php扩展名是否足够清楚,或者我需要的是将图表分成两部分:一部分用于Javascript类,另一部分用于PHP类。
我正在使用CodeIgniter(MVC模式)和Javascript。任何建议都会非常感激。
谢谢!
答案 0 :(得分:7)
通常,您不想这样做。在浏览器中查看网页时出现延迟问题。每个单独的javascript文件都会失败缓存,并且在页面加载之前需要额外的传输时间。只有在可行和实用的情况下组合JS文件才能更好地利用浏览器缓存。commonly advised。所以我的第一个建议是不要出于架构原因任意拆分你的JS ......
现在,话虽如此,为了完整地回答你的问题,我认为这取决于你如何看待JS。如果你从它的角度看它增强了你的PHP应用程序,那么将它与你的视图分开并不坏(上面的建议不能承受)。
但是,我通常将JS视为PHP应用程序之上的单独应用程序层。 JS通过定义的API与PHP层交互。所以它基本上只是一个完整的GUI应用程序,恰好使用PHP应用程序定义的API。因此,考虑到这一点,我通常使用自己的架构构建JS应用程序,该架构比PHP应用程序更依赖于自身。换句话说,仅仅因为JS应用程序的一部分与PHP交互并不意味着这段代码属于PHP应用程序。
这有意义吗?
答案 1 :(得分:3)
尝试将所有类(甚至在一个应用程序中 - 你有两个:一个PHP应用程序和一个JS应用程序)放在一个UML图表上,这几乎是一种浪费大量时间和一无所获的方法。
使用UML显示一个包或一组一起工作的类中的依赖,但不要尝试为整个应用程序执行此操作。
答案 2 :(得分:2)
我不知道你做事的方式,但在我的项目中,我倾向于将PHP和JS分开。首先,如果你采用这种方式,它更容易开发和调试,其次,如果你将javascript视为第二层,而不是与PHP的编程水平相同,那么在你的JS没有的情况下,你会得到一个有效的后备无法运行,或者您的网络应用的用户已禁用javascript。
我倾向于使一切都在PHP中运行,之后我用javascript覆盖一些操作,让他们通过ajax而不是传统的在旧学校Web上工作的方式。
---第一条评论后的修订---
然后,您可能希望将PHP和Javascript部分视为分隔应用程序。第一个系统(PHP)生成初始状态。在用户操作后,第二个系统(JS)向第一个系统发出查询并等待答案,这样,您将设置某种API来标准化您的交易。
我曾与设计信息专家合作,他们经常将Jesse James Garrett称为该专业领域的“大师”,您可能想查看他的网站(有omnigraffle,visio和其他一些的预制模板) 。
通过他的写作和示例,您可以找到正确的符号和元素来代表您的系统。