一、94hwan-PHP框架简介

    94hwan-PHP开发框架是分析之前开发项目的优缺点综合出来的一个标准框架,框架以“简单、安全、高效、规范”为原则,主要特点:
        1、根据应用池设定多个入口,这样的好处是即使不对项目的管理后台进行分离,也可以任意重命名管理目录,从而更简单的实
    现管理分离,此外,也更容易实现模块化的开发思想。
        2、目前版的框架要求程序除了api部份,所有对request(GET、POST、FILE等)的参数都用req类统一的方法读取,这样
    便于实现从底层去进行安全控制,也利于路由器、权限管理的实现。
        3、框架以简洁为原则,结构也十分清晰,这样有利于开发时根据项目大小或差异从框架中合理的提取项目基本结构文件。

   二、网络部PHP编码规范重点说明

     开发时以敏捷为原则,但基本的规范必须遵守,程序要注重可读性,不要有太多“个性化”的代码!
     为了方便更快入门,这里提取重点说明如下:
     1、缩进用4个空格代替制表符,以便于不同环境下有更好的兼容性。
     2、大括号应该要统一换行,而不要用java第一个'{'在同一行的那种风格。
     如:
     if()
     {
        ...
     }
     function test()
     {
       ...
     }
     3、变量、成员函数、类名、表名、字段名等命名用下划线分隔法,并且全用小写字母。
     如:open_account()、$acc_users
     4、文件命名规范:
     lib_ 函数库              (存放在 /core/library,本版不建议使用函数,如果常用的函数,可以整合成某个静态类,默认 util 类 )
     cls_ 框架基础类文件      (存放在 /core/library)
     pub_ 项目公共接口类     (存放在 /core/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'] = '汤姆';
     7、关于源码编码问题需特别注意的是: 公司的项目都是用utf-8编码的,由于php无法处理带bom的源码,
     所以务必把源码保存为utf-8无bom的格式,以免输出多余的头导致出错! 
     8、关于在控制器使用私有方法 原则上,控制器类是不放私有逻辑的,但有时为了简便起见,也允许放不
     公用的简单逻辑代码,这种代码函数名用 _ 开头,如:function _test_username(){ ... },建议模型类里的
     私有方法也用这种方式书写,这样用不同编辑器读代码时都能更简便的识别整个类的情况 。 

   三、新建项目文件结构说明

    以下文件夹是在SVN仓库内:如 frame.demo.94hwan.com 文件夹内
    
    /res/design   效果图等设计源文件存放目录
    ------------------------------------------------------
    /res/doc      需求文档、项目接口说明文档、数据库文档等
    ------------------------------------------------------
    /res/html     切好的html模板
    ------------------------------------------------------
    /web      网站目录
    ------------------------------------------------------
    ---/web/admin             后台管理文件存放目录
       /web/admin/control     admin应用控制器存放目录
       /web/admin/model       admin应用私有模型类存放目录
    ---/web/config            配置文件存放目录
    ---/web/core              框架核心目录
         /web/core/crond      计划任务
         /web/core/share      共享静态数据(IP库,字体,词典等)
         /web/core/library           类文件和函数库文件存放目录
            ---/web/core/library/smarty            smarty类
            ---/web/core/library/smarty_plugins    自定义smarty插件
    ---/web/control             根应用控制器文件存放目录
    ---/web/model               根应用私有模型类存放目录
    ---/web/templates           模板文件存放目录
       /web/template/template    Smarty template 目录
       /web/template/cache    Smarty cache目录
       /web/template/compile    Smarty compile目录
    ---/web/static    静态文件目录
       /web/static/images    图片样式文件存放目录
       /web/static/js    Js文件存放目录
       /web/static/css    css文件存放目录
    ---/web/data     缓存文件目录
        /web/data/log    日志文件存放目录
        /web/data/cache    缓存文件存放目录
        /web/data/backup    备份文件存放目录
    ---/web/api    API调用文件存放目录