一家之言的经验之谈php+mysql扎实个人基本功


Posted in PHP onMarch 27, 2008

一. 10句话
1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON/OFF会对自己有什么影响的那天起,就应该勇敢地把它设为OFF.
2.写程序前看看怎么用error_reporting.
3.不懂就问本身没错,但你需要在那之前查查手册。
4.当然,你需要懂得使用手册。手册上找不到答案的时候,应该考虑下网络上的搜索引擎。
5.刚学会php+mysql之后,不要叫嚷着要写论坛,要写XXX。要明白,刚学会写汉字并不表示你有能力写诗。
6.在学web编程的时候,你应该先去认识html这个朋友。
7.有点能力后,试着回答新手的问题,不要看到自己懂的而别人不懂就沾沾自喜,扔下一名“简单,那是基本的东西”就走更要不得。
8.思考是一个好习惯,不动手去写就等于空想,什么也没有。
9.写好一段程序,如果觉得很满意,一周后再看一遍,也许你会认为它应该有所改变
10.有空多看看别人的程序,找出他人的不足或优点,自己掂量。
二. 各取所需

1.善于使用“引用”,它能直接影响到程序的效率。

2.善于用三元运算子,可以让程式较精简有效率。
比如:

PHP代码:--------------------------------------------------------------------------------
if ($data[$i]['nickname'])
{
  $nickname = $data[$i]['nickname'];
}
else
{
  $nickname = $data[$i]['ip'];
}

--------------------------------------------------------------------------------

可以写成:

PHP代码:--------------------------------------------------------------------------------
$nickname = $data[$i]['nickname'] ? $data[$i]['nickname'] : $data[$i]['ip'];

--------------------------------------------------------------------------------

3.善于组织if...else...回圈
比如:

PHP代码:--------------------------------------------------------------------------------
$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!empty($type))
{
  if (!strpos($type, $ext_name))
  {
    echo "Please upload the file of $type form.";
    exit();
  }
}

--------------------------------------------------------------------------------

上面的代码你应该写成这样:

PHP代码:--------------------------------------------------------------------------------
$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!($type==='') && strpos($type, $ext_name)===false)
{
  echo "Please upload the file of $type form.";
  exit();
}

--------------------------------------------------------------------------------

4.尽量让你的代码清淅些
如果写成这样,是比较让人头痛的:

PHP代码:--------------------------------------------------------------------------------
$foo=$_post["foo"];
  $username=$_post["user"]; 
$group=$_POST["group"];
if ($group=="wheel"){
$username=$username."wheel";
}

--------------------------------------------------------------------------------

同样的代码,这样就比较让人看得舒服了:

PHP代码:--------------------------------------------------------------------------------
$foo     = $_post["foo"];
$username = $_post["username"];
$group   = $_POST["group"];
if ($group=="wheel")
{
  $username = $username."wheel";
}

--------------------------------------------------------------------------------

当然,有一定基础后,你应该要写成这样:

PHP代码:--------------------------------------------------------------------------------
$foo     = &$_POST['foo'];
$username = $_POST["group"]!='wheel' ? $_POST["username"] : $_POST["username"].'wheel';

--------------------------------------------------------------------------------

5.编写规范的mysql 语句。
字段和表名用"`"引起来,避免保留字的影响。
如果看到下面这样的一个sql query,会让人比较头痛:

PHP代码:--------------------------------------------------------------------------------
$query="select `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid` from `flash_comment` left join `product` on ( `flash_comment`.`p_no` = `product`.`p_no` ) left join `sgflash` on ( `product`.`p_name` = `sgflash`.`f_name` ) where `flash_comment`.`p_no` != '' order by `flash_comment`.`date`";

--------------------------------------------------------------------------------

同样的一个query,写成这样就令人看得明白得多了:

PHP代码:--------------------------------------------------------------------------------
$query = "Select `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid` 
      FROM `flash_comment` 
      LEFT JOIN `product` ON ( `flash_comment`.`p_no` = `product`.`p_no` ) 
      LEFT JOIN `sgflash` ON ( `product`.`p_name` = `sgflash`.`f_name` ) 
      Where `flash_comment`.`p_no` != ''
      orDER BY `flash_comment`.`date`";

--------------------------------------------------------------------------------

//
..... 

PHP 相关文章推荐
PHP+SQL 注入攻击的技术实现以及预防办法
Dec 29 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
PHP微信API接口类
Aug 22 PHP
php 数组处理函数extract详解及实例代码
Nov 23 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
php 如何设置一个严格控制过期时间的session
May 05 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
php post换行的方法
Feb 03 PHP
PHP 时间处理类Carbon
May 20 PHP
php部分常见问题总结
Mar 27 #PHP
php+mysql分页代码详解
Mar 27 #PHP
Mysql和网页显示乱码解决方法集锦
Mar 27 #PHP
require(),include(),require_once()和include_once()区别
Mar 27 #PHP
php图片验证码代码
Mar 27 #PHP
几个php应用技巧
Mar 27 #PHP
PHP详细彻底学习Smarty
Mar 27 #PHP
You might like
第1次亲密接触PHP5(2)
2006/10/09 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
Javascript Global对象
2009/08/13 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
vue.js的提示组件
2017/03/02 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
vue组件父子间通信详解(三)
2017/11/07 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
浅析python的优势和不足之处
2018/11/20 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
超市总经理岗位职责
2014/02/02 职场文书
铲车司机岗位职责
2014/03/15 职场文书
个人自我鉴定总结
2014/03/25 职场文书
《火烧云》教学反思
2014/04/12 职场文书
体现团队精神的口号
2014/06/06 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
农村党支部承诺书
2015/04/30 职场文书
大学生暑期实践报告
2015/07/13 职场文书
MySQL的Query Cache图文详解
2021/07/01 MySQL