首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP与模板与代码加密/优化 » [转帖]· php+mysql扎实个人基本功  


  作者:baowm
  注册时间:2007-05-17
  主题/回复:1/0
  积分:405
  等级:★★☆(五级)
  称号:略有小成

  baowm@23.com
  未提供
  www.

 

 发表:2007-05-17 08:57:25 阅读 2883 次 回复 2 次 得分6  |   字号 字色
[转帖]· php+mysql扎实个人基本功
原文: http://www.xuebc.com

一. 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.有空多看看别人的程序,找出他人的不足或优点,自己掂量。
www.xuebc.com  学编程论坛
二. 各取所需

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

www.xuebc.com  学编程论坛
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';--------------------------------------------------------------------------------
www.xuebc.com  学编程论坛
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,写成这样就令人看得明白得多了:

www.xuebc.com  学编程论坛
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`";
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2007-05-28 17:09:15  评分:1 

纯支持
 2#楼  
 
  回复人:kiril
  注册时间:2008-06-13
  主题/回复:12/38
  积分:113
  等级:★☆(三级)
  称号:牛刀小试

用户联系方式已设置为保密
 2#楼 发表于2008-06-14 11:01:40  评分:5 

回复给楼主(baowm)
也纯支持一下。。。。
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.008sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版