PHP网站开发方案
开发成员
- 项目主管
- 页面美工
- 页面开发
- 服务端程序开发
- 系统与数据管理
- 测试与版本控制
网站组开发简明流程
开发工具与环境
服务器配置
- WEB服务器: FreeBSD6.1+Apache2.0+PHP5.0,SVN版本控制服务(仅测试机)。
- 数据库服务器: WIN2003 server+SQL server 2000+MySQL5.0,CLUSTERED SERVER 集群服务,邮件服务器。
- 100M/1000M交换机
开发工具
- 前台: Macromedia flash 8.0、Macromedia Dreamweaver 8.0、Adobe photoshop CS
- 后台: Zend Studio 5.2、SQL Server Enterprise Manager、PhpMyAdmin
技术规则
- 浏览器兼容策略: 兼容IE5.0以上版本,同时兼容FireFOX2.0以上浏览器。
- 搜索引擎优化: 着重针对baidu、Google、Yahoo搜索优化,制作清晰明确的网站地图。
- 字符编码规则:中文网站一率采用GB2312字符标准。[目前我统一使用UTF-8编码包括了数据库的文件内容的编码统一]
- 文件与文件夹命名: 为兼容win32与unix系统,一率采用小写字母命名。(统一全站的文件夹与文件的命名都使用小写的形式处理。这样不会出现问题了!)
公共文件命名规则:
- 默认首页: index.htm、index.html、index.php
- 主CSS文件: style.css
- 主JS文件: main.js
- 主程序配置文件:config.php
公共文件目录统一命名
- 图片目录: /images 或者 /pic
- CSS样式目录: /css
- JS脚本程序目录:/js
- 模板文件目录:/tpl
- 类或者组件目录:/class 或者 /lib
- 页面脚本规范: 统一采用JavaScript
- 代码中的类、函数、变量名:统一使用近似英文单词命名,如:DefaultClass 或者 default_class
- 代码注释规则:所有程序中的函数或者过程必须加确切的注释。
数据库相关规则
- 数据表与字段命名规则: 全部小写字母命名,并归类命名前缀,如:用户表组,user_passport、user_info、user_service….
- 日期类型字段: 统一使用unix时间戳,char(12)
- 主关键字命名: 所有表必须建立以id命名的主键。
- 模板组件规则:统一使用兼容版本的Smarty,统一缓存目录,便于Unix下权限控制。(设置全部的可写文件统一放入到一个目录下面去做成缓存目录用)
- 数据库虚拟层: 统一使用Adodb 或 Pdo,SQL语句要兼容现有主流数据库规则。
- 工厂模式开发规则: 以comm.php为中心开发或继承组件类,统一控制文件调用IO与类的实例化。
- 面向对象开发规则: 所有函数必须以类 —> 过程的方式存在。(学会封装代码成类的形式出现)
- SQL封装规则: 所有SQL语句及数据库查询必须存在于过程中。
URL转向规则: 为优化搜索引擎,尽量使用Apache的mod_rewrite模块来美化URL,
- 如:http://www.yourname.com/action.php?id=123转化为:http://www.yourname.com/action/id/123或者http://www.yourname.com/action/id_123.html
网站安全与维护策略
服务器与数据库安全:
- 建立完善的病毒防御机制,安装防火墙,关闭服务器上任何不必要的端口以及服务。
- 统一管理用户权限,定期跟踪用户及系统事件,定期查看系统日志。
容灾与备份机制:
- 建立数据库集群,至少保持一台服务器同步数据,确保意外发生时数据库系统可自动转移到正常的服务器稳定运行。
- 定期备份文件及数据,通过各种方式保存数据与文件。
程序安全策略:
- SQL注入防范:坚决过滤不可预见的非法字符,严格做好数据库查询、更新的SQL语句检验。
- 不使用来路不明的第三方源码,不轻易将未知代码拷贝到服务器。