字符串必须进行trim及转义的处理,并且如果变量的值是在我们预计的范围之内,需要对变量的非法值做出相应的处理;对于数字型的变量则需要进行intval或者floatval的处理。
9.9. require和include
在程序中需要使用包含文件的时候我们要求使用require_once或者include_once,不允许使用require或者include。
对于程序必须包含的文件只能采用require_once,而对于某些有条件包含的文件在引用时只能使用include_once。
9.10. 文件命名
文件名应当全部小写,并且词语之间以单个下划线分隔。
例如: current_user.php 是正确的, 但是 currentuser.php 和 currentUser.php 就不正确。
名称应当是描述性的,并且简明。我们自然不希望使用冗长的句子作为文件名,但是多输入几个字符总好于疑惑于某个文件到底是干什么用的。
10. SQL语法
10.1. SQL 代码布局
既然我们都在使用不同的编辑器设置,不要尝试去做诸如在 SQL 代码中实现列对齐此类的麻烦事。要做的是,不管用何种方法,把语句断行到它们单独的行上去。这里有一个 SQL 代码看上去应该是什么样子的示例。注意在哪里断行,大写,和括号的用法。
例如:
复制代码 代码如下:
SELECT field1 AS something, field2, field3
FROM `table` a, `table` b
WHERE (this = that) AND (this2 = that2)
10.2. 表名和字段值
SQL语句中的表名与字段名避免使用保留字;同时所有字段值的变量名,如果是数值型,需要强制类型转换。intval,floatval…
10.3. SQL select 语句
在已知需要查询的字段的前提下,不允许使用如下的代码:
SELECT * FROM `mytable`
取而代之的写法是将每一个字段名写上去,请不要偷懒。SELECT col1, col2, col3 FROM `mytable`
在需要获得已知记录数量情况下,请使用 LIMIT offset, count 的方式,尽量不要使用无 LIMIT 的 SELECT 语句。
在需要或者满足条件的记录数量的情况下,请使用 SELECT count([*|col1]) FROM 的方式,尽量不要使用 SELECT col1 FROM 的方式。
需要进行逻辑运算的时候,尽量不要使用不等于,可以使用大于或者小于的方式。
10.4. SQL insert 语句
SQL INSERT 语句可以写成两种不同方式。或者你明确指明要插入的列,或者你已经知道数据中各列的顺序,不用详细指定它们。我们希望使用前一种方法,也就是详细说明插入哪些列。这意味着应用程序代码不会依赖于数据库中字段的顺序,也不会因为我们增加另外的字段而崩溃(当然,除非它们被指定为 NOT NULL)。
例如:
# 这不是我们想要的
复制代码 代码如下:
INSERT INTO `mytable`
VALUES ('something', 1, 'else')
# 这是正确的。
复制代码 代码如下:
INSERT INTO `mytable` (column1, column2, column3)
VALUES ('something', 1, 'else')
11. smarty语法
11.1. 界定符
界定符为 <{ }>
11.2. 双引号、单引号
为了避免dreamweaver将Smarty语句中的双引号改写为",我们要求在Smarty的花括号中不允许使用双引号,而是使用单引号。
错误的写法:
<{if $user_name eq ""}>匿名用户<{/if}>
<{insert name=https://www.jb51.net/article/”query_info”}>
正确的写法:
<{if $user_name eq ''}>匿名用户<{/if}>
<{insert}>
11.3. 有条件设置HTML属性值
当需要在模板中有条件的设置HTML元素属性值的时候,我们要求所有语句均包含在双引号之内。错误的代码:
复制代码 代码如下:
<div class=
<{if $promote_price>0}>"promote_goods"
<{else}>”normal_goods”<{/if}>
><{$goods.goods_name}></div>
正确的写法:
复制代码 代码如下:
<div><{$goods.goods_name}></div>
11.4. 条件修饰符
在smarty中可以用eq、neq、gt、lt等来分别表示==、!=、>、<。那我们到底该使用哪种呢?
当Smarty语句出现在HTML标签内时不允许使用==、!=这类修饰符,如果使用了这类修饰符有可能导致该符号或者其他的HTML相关符号被Dreamweaver自动转义。
总之,尽量使用eq、gt等这类条件修饰符,避免直接使用==、>。
您可能感兴趣的文章: