假日咖啡的博客

HolidayCoffee's Blog

CMS系统独立开发日志4

终于搞清楚了上一篇开发日志所表现的混乱的根源了,在一次看技术资料时候发现,使用OOP技术开发东西,最开始应该写的是【测试类】,这种开发方法也就是【测试驱动开发】开发方法,简单来说就是通过(编写)一些预期的值或校检代码,对将要写的对象或模块进行自我校对,一般一个模块对应一个测试类,有时候类的接口如果相同的话,可以共用一个测试类,在网络上有专门针对原始OOP写法的校对工具【PHPUnit】,但如果用的是PHP框架的话,其框架内一般也有类似的内置工具。这不禁令我感到PHP越来越像JAVA了。 在那本书上还记载了一些评估项目开发时长的方法,可以预防开发延期。 在写ajax交互数据时,又产生了新的混乱,我甚至开始质疑要不要用AJAX这种技术,说实在的,如果后台用的是框架开发,那么框架的功能基本上都已经涵盖了所有交互输出方法,基本上用不着AJAX来做输出和接收数据。也就是说,其实html和JS都可以绑定服务器事件,但出于历史原因,服务器返回的一般是HTML不会返回像JS这样的代码,也就是说服务器PHP有一定的简化代码优先于JS的特性。 这么来看,PHP是根据数据库里设计的字段来输出表单,表头都是记忆在服务器这边的,如果使用PHP来回收这些表单,可以清晰对比有没有漏填,或少填什么东西,如果用AJAX的话,JS那边是不知道这个表有多少表头,除非人工写上去(基本上重复了一遍服务器那边的工序),感觉真的有些多余,而且验证表单是否填写的是合法值,JS和PHP都可以对其校对,如果用的是JS校对只能是在表面上进行校对,在传到服务器那边时还是会有发生突变的情况,且PHP端不做校检的话,可能会被人利用这个漏洞,但如果在服务器端进行校检的话虽然可以规避被人利用的漏洞,但同时也会降低用户体验,所有我猜那些有钱的大公司估计会在两边都校检,真是苦力做的活啊。 在写导航栏输出排序的时,发现有点力不从心了,排序排的一塌糊涂,但我的直觉告诉我,一个系统的内核基本上可以完全基于数字(值)化控制,做为内核,在这层数字核外应该才是字符串层,这只是我的猜想。但出于以后更换模板的便利考虑,我在后台设计了一个表头验证程序,表里少一个项都不会通过,而且会反馈提示少了那一项。最重要一点是表头是由模板标签控制的,这样其他人就改不了这个值了(在输出前)。