94hwan-PHP框架基本原理

Source:94hwan 与众不同  Author:网络部
2011-03-28 20:57

开发时以敏捷为原则,但基本的规范必须遵守,程序要注重可读性,不要有太多“个性化”的代码!
为了方便更快入门,这里提取重点说明如下:

1、缩进用4个空格代替制表符,以便于不同环境下有更好的兼容性。


2、大括号应该要统一换行,而不要用java个'{'在同一行的那种风格。
(可允许少于三行的代码块使用这种风格)  
如:
if() {
        ...
}
function test()
{
       ...
}

3、变量、成员函数、类名、表名、字段名等命名用下划线分隔法,并且全用小写字母。

     如:open_account()、$acc_users

4、文件命名规范:

     lib_ 函数库              (存放在 /library)
     cls_ 框架基础类文件      (存放在 /library)
     pub_ 项目公共接口类     (存放在 /library)
     mod_ 应用目录私有模型类 (存放在 appdir/model)
     ctl_ 应用目录控制器类   (存放在 appdir/control)

5、模板文件命名方式为:appdir/(ctl name).(action name).tpl

     其中 ct=index 的 index 可以省缺
     如:
     templates/template/index.tpl
     templates/template/admin/index.index.tpl
     templates/template/admin/archives.add.tpl

6、开发时使用严格模式,重点需要注意下面几点:

     (1)、严禁变量没有赋值就直接使用;
     (2)、字符串中使用变量应该用{}括起来,如:$str = "你是:{$type}?";
     (3)、对于没有内部使用变量的字符串尽量用 '' 表示,表示数组元素的字符串,必须用 '' 括起来。
          如: $str = '我是普通字符串!';   $names['tom'] = '汤姆';
     (4)、模型类尽量偏向使用静态方法的原则,使程序简单易读(对于逻辑极明显的类可例外,一般是库或第三方的库才允许使用动态对象)。

7、关于源码编码问题需特别注意的是: 公司的项目都是用utf-8编码的,由于php无法处理带bom的源码,
     所以务必把源码保存为utf-8无bom的格式,以免输出多余的头导致出错! 

8、关于在控制器使用私有方法 原则上,控制器类是不放私有逻辑的,但有时为了简便起见,也允许放不
     公用的简单逻辑代码,这种代码函数名用 _ 开头,如:function _test_username(){ ... },建议模型类里的
     私有方法也用这种方式书写,这样用不同编辑器读代码时都能更简便的识别整个类的情况 。

9、代码安全务必注意事项:
    
(1)、凡是where查询语句里的变量,务必加引号,符合某种类型的,就必须按某种类型预先过虑;
    (2)、insert、update类语句,如果不是使用lurd类,必须要进行操作前对所有数据安全性进行检测;
    (3)、凡是可能直接向页面输出的内容,必须考虑屏蔽script、iframe、meta等,以免产生xss跨站漏洞;
    (4)、涉及文件上传的,必须多次详细进行检查,确定漏洞存在可能性。
 

...