当前位置: 网学 > 编程文档 > PHP > 正文

提高PHP代码质量36计

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/02
nction()      {          //process $this->a      }  } 尽快的 unset 它们, 让内存得以释放,减轻脚本负担.25.  由始至终使用单一数据库连接确保你的脚本由始至终都使用单一的数据库连接. 在开始处正确的打开连接, 使用它直到结束, 最后关闭它. 不要像下面这样在函数中打开连接:function add_to_cart()  {      $db = new Database();      $db->query("INSERT INTO cart .....");  }   function empty_cart()  {      $db = new Database();      $db->query("DELETE FROM cart .....");  } 使用多个连接是个糟糕的, 它们会拖慢应用, 因为创建连接需要时间和占用内存.特定情况使用单例模式, 如数据库连接.26. 避免直接写SQL, 抽象之不厌其烦的写了太多如下的语句:<span style="color:#333333;font-family:''''Helvetica, Arial, sans-serif'''';">$query = "INSERT INTO users(name , email , address , phone) VALUES(''$name'' , ''$email'' , ''$address'' , ''$phone'')";  $db->query($query); //call to mysqli_query()</span> 这不是个建壮的方案. 它有些缺点:>>每次都手动转义值>>验证查询是否正确>>查询的错误会花很长时间识别(除非每次都用if-else检查)>>很难维护复杂的查询因此使用函数封装:<span style="color:#333333;font-family:''''Helvetica, Arial, sans-serif'''';">function insert_record($table_name , $data)  {      foreach($data as $key => $value)      {      //mysqli_real_escape_string          $data[$key] = $db->mres($value);      }       $fields = implode('','' , array_keys($data));      $values = "''" . implode("'',''" , array_values($data)) . "''";       //Final query      $query = "INSERT INTO {$table}($fields) VALUES($values)";       return $db->query($query);  }   $data = array(''name'' => $name , ''email'' => $email  , ''address'' => $address , ''phone'' => $phone);   insert_record(''users'' , $data);</span> 看到了吗? 这样会更易读和扩展. record_data 函数小心的处理了转义. 最大的优点是数据被预处理为一个数组, 任何语法错误都会被捕获.该函数应该定义在某
  • 下一篇资讯: PHP源码已迁移至GitHub
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号