-
在大型项目中使用php和mysql
- 在web开发中应用软件工程
- 规划和运行web应用程序项目
- 重用代码
-
编写可维护代码
-
编码标准
- 定义命名惯例
-
对代码进行注释
- 对文件或包含文件注释
- 对函数进行注释
- 类注释
- 脚本或一大段代码
- 复杂的代码
- 代码缩进
- 分解代码
- 使用标准的目录结构
- 文档化和共享内部函数
- 实现版本控制
- 选择一个开发环境
-
项目的文档化
- 设计文档
- 技术文档/开发指南
- 数据词典(包含类文档)
- 用户指南(尽管大多数web程序是自我解释的)
- 建立原型
-
分离逻辑.内容和外观.php+html+css
- 用包含文件保存不同部分的内容
- 用一个函数或者带有一组成员函数的类api将动态内容插入到静态网页模版中
- 使用模版系统.用来解析静态模版
-
优化代码
-
使用简单优化
- 减少数据库连接
- 加速数据库查询
- 使php中生成的静态内容减少到最小
- 尽可能使用字符串函数代替正则表达式
- 使用zend产品
-
测试
- 代码审查让同事帮忙看看
- 让最终客户测试web程序
-
调试
-
编程语法/运行时以及逻辑错误
-
编程错误
- 语法错误
-
运行时错误
- 调用不存在的函数
- 读写文件错误
- 与mysql或其他数据库的交互
- 连接到网络服务
- 检查输入数据失败
- 逻辑错误
- 错误级别
-
改变错误报告设置
- 报告除了通知之外的所有错误
- 以html形式将出错信息输出到标准输出接口
- 不将错误信息作为日志记录到磁盘
- 不跟踪错误.将错误保存在变量$php_errormsg中
- 触发自定义错误
- 巧妙的处理错误
-
建立用户身份验证机制和个性化设置
- 方案需求
-
设计的函数
- 先制作bookmarks.sql文件方便导入
- 登录页面.调用一个函数库
- 用try{}catch(){}语句进行判断验证
-
注册用函数
- filled_out()函数
- valid_email()函数
- register(用户名.邮箱.密码)函数
- db_connect()函数
-
登录用函数
- login(用户名.密码)函数
- check_valid_user()函数
-
修改密码用的函数
- change_password(用户名.老密码.新密码)
-
重置密码用的函数
- reset_password(用户名)函数
- get_random_word(最小长度.最大长度)函数
- notify_password(用户名.密码)函数
-
添加书签
- add_bm(url)函数
-
显示书签用的函数
- get_user_urls()函数
-
删除书签
- delete_bm(用户名.url地址)
-
推荐非用户自己书签函数
- recommend_urls(用户.显示数量)函数
-
考虑可能的扩展
- 按主题分类的一组书签
- 一个管理界面用以创建管理用户的书签
- 书签推荐直接添加到自己书签的功能