一家之言的经验之谈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使用数组实现队列
Feb 05 PHP
php二分查找二种实现示例
Mar 12 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 PHP
php实现的Captcha验证码类实例
Sep 22 PHP
php.ini中的request_order推荐设置
May 10 PHP
学习php设计模式 php实现建造者模式
Dec 07 PHP
学习php设计模式 php实现模板方法模式
Dec 08 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
Dec 31 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
Feb 23 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
php实现登陆模块功能示例
Oct 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
Zend引擎的发展 [15]
2006/10/09 PHP
基于pear auth实现登录验证
2010/02/26 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
js实现简易ATM功能
2020/10/27 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
利用Python演示数型数据结构的教程
2015/04/03 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
python实现剪切功能
2019/01/23 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
PyTorch实现AlexNet示例
2020/01/14 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
门卫工作岗位职责
2013/12/17 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
表彰先进的通报
2014/01/31 职场文书
软件项目实施计划书
2014/05/02 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
英文商务邀请函范文
2015/01/31 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书