php代码展示网站,php技巧篇:高质量php代码的50个实用技巧(下)

这篇文章主要为大家分享了50个高质量PHP代码的实用技巧,大家必备的php实用代码,感兴趣的小伙伴们可以参考一下

26. 避免直接写SQL, 抽象之不厌其烦的写了太多如下的语句:$query = "INSERT INTO users(name , email , address , phone) VALUES('$name' , '$email' , '$address' , '$phone')";

$db->query($query); //call to mysqli_query()

这不是个建壮的方案. 它有些缺点:>>每次都手动转义值

>>验证查询是否正确

>>查询的错误会花很长时间识别(除非每次都用if-else检查)

>>很难维护复杂的查询

因此使用函数封装:

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);

看到了吗? 这样会更易读和扩展. record_data 函数小心的处理了转义。最大的优点是数据被预处理为一个数组, 任何语法错误都会被捕获。该函数应该定义在某个database类中, 你可以像 $db->insert_record这样调用。查看本文, 看看怎样让你处理数据库更容易。类似的也可以编写update,select,delete方法. 试试吧.

27. 將数据库生成的内容缓存到静态文件中如果所有的内容都是从数据库获取的, 它们应该被缓存. 一旦生成了, 就將它们保存在临时文件中. 下次请求该页面时, 可直接从缓存中取, 不用再查数据库.

好处:

>>节约php处理页面的时间, 执行更快

>>更少的数据库查询意味着更少的mysql连接开销

28. 在数据库中保存session基于文件的session策略会有很多限制. 使用基于文件的session不能扩展到集群中, 因为session保存在单个服务器中. 但数据库可被多个服务器访问, 这样就可以解决问题.

在数据库中保存session数据, 还有更多好处:

>>处理username重复登录问题. 同个username不能在两个地方同时登录.

>>能更准备的查询在线用户状态.

29. 避免使用全局变量>>使用 defines/constants

>>使用函数获取值

>>使用类并通过$this访问

30. 在head中使用base标签没听说过? 请看下面:

happy.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值