一家之言的经验之谈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 相关文章推荐
使用adodb lite解决问题
Dec 31 PHP
php横向重复区域显示二法
Sep 25 PHP
php 禁止页面缓存输出
Jan 07 PHP
PHP中函数rand和mt_rand的区别比较
Dec 26 PHP
php漏洞之跨网站请求伪造与防止伪造方法
Aug 15 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
php从csv文件读取数据并输出到网页的方法
Mar 14 PHP
php中使用gd库实现下载网页中所有图片
May 12 PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
Mar 21 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
PDO实现学生管理系统
Mar 21 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
一个简单实现多条件查询的例子
2006/10/09 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php绘制一条弧线的方法
2015/01/24 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
jquery 页面全选框实践代码
2010/04/02 Javascript
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
angular2使用简单介绍
2016/03/01 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[02:23]完美世界全国高校联赛街访DOTA2第一期
2019/11/28 DOTA
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
Django URL传递参数的方法总结
2016/08/28 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
德国苹果商店:MacTrade
2020/05/18 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
C++面试题:关于链表和指针
2013/06/05 面试题
我的中国梦演讲稿500字
2014/08/19 职场文书
工作保证书怎么写
2015/02/28 职场文书
合作意向书怎么写
2019/06/24 职场文书