一家之言的经验之谈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 相关文章推荐
超级简单的发送邮件程序
Oct 09 PHP
php下intval()和(int)转换使用与区别
Jul 18 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
深入phpMyAdmin的安装与配置的详细步骤
May 07 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
php数组去重实例及分析
Nov 26 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
php基于GD库画五星红旗的方法
Feb 24 PHP
在WordPress中实现发送http请求的相关函数解析
Dec 29 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
PHP中FTP相关函数小结
Jul 15 PHP
PHP使用CURL实现下载文件功能示例
Jun 03 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
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
javascript void(0)的妙用
2009/10/21 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
2015/03/04 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
Vue中props的使用详解
2018/06/15 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python pickle 和 shelve模块的用法
2013/09/16 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
python实现浪漫的烟花秀
2019/01/30 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
通过实例学习Python Excel操作
2020/01/06 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
Ajax的优点和缺点
2014/11/21 面试题
怎么写好自荐信
2013/10/30 职场文书
《月光启蒙》教学反思
2014/03/01 职场文书
大学毕业寄语大全
2014/04/10 职场文书
质量承诺书格式
2014/05/20 职场文书
电话客服工作职责
2014/07/27 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书