· 采用面向对象的设计方法;
理由
毫无疑问这是最接近人们自然思维的方法,可能前期会觉得没有直接书写来得快,能否试着保留自己的看法?好戏在后头!
· 类的定义采用一个文件一个类,并且类名和文件名相同;
理由
o 越来越多的人接受了这种做法
o 事实证明这种方法使得项目的逻辑结构更清晰
· 类定义文件中,定义体之外不得出现诸如echo、print等输出语句;
理由
出现这样的语句,应该当做出现bug来看。
· 输出网页的页面不出现SQL语句
理由
这是n层结构的编程思想所致,每层的任务不同,虽然可以越权行使,可能这样很快捷,但我们不赞成这么干。
· 进行SQL执行的数据必须进行有效**检测
特殊符号:
对于MS SQL Server,’%_[ ] 这些符号都是在书写SQL语句中的特殊含义字符,在SQL执行前需要对这些字符进行处理。
脚本符号:
对于PHP脚本标记,如<??><%%><?php?><script lang<script language="php"></script>,在进入数据库前需要检测处理。
理由
这是数据库编程的一个约定,很多参考书上也是这么说,这里需要强调一下。
· 在HTML网页中尽量不要穿插PHP代码
循环代码和纯粹变量输出(类似于<?=$UserName?>)除外。
理由
o 需要说明的是我们工作的上游,页面设计者的工作,假如在页面中穿插代码,将破坏结构,这应当是我们需要避免的。
o 在这里的PHP代码只负责显示,多余的代码显然是不应该的。
· 没有含义的数字
一个在源代码中使用了的赤裸裸的数字是不可思议的数字,因为包括作者,在三个月内,没人理解它的含义。例如:
if (22 == $foo) { start_thermo_nuclear_war(); }
else if (19 == $foo) { refund_lotso_money(); }
else if (16 == $foo) { infinite_loop(); }
else { cry_cause_im_lost(); }
在上例中22和19的含义是什么呢?如果一个数字改变了,或者这些数字只是简单的错误,你会怎么想?
使用不可思议的数字是该程序员是业余运动员的重要标志.
你应该用define()来给你想表示某样东西的数值一个真正的名字,而不是采用赤裸裸的数字,例如:
define("PRESIDENT_WENT_CRAZY", "22");
define("WE_GOOFED", "19");
define("THEY_DIDNT_PAY", "16");
if (PRESIDENT_WENT_CRAZY == $foo) { start_thermo_nuclear_war(); }
else if (WE_GOOFED == $foo) { refund_lotso_money(); }
else if (THEY_DIDNT_PAY == $foo) { infinite_loop(); }
else { happy_days_i_know_why_im_here(); }
现在不是变得更好了么?