一家之言的经验之谈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.MVC的模板标签系统(二)
Sep 05 PHP
一个php导出oracle库的php代码
Apr 20 PHP
php下正则来匹配dede模板标签的代码
Aug 21 PHP
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
php将图片文件转换成二进制输出的方法
Jun 10 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 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
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
Python中的字典遍历备忘
2015/01/17 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
技术学校毕业生求职信分享
2013/12/02 职场文书
五一劳动节活动记录
2014/03/23 职场文书
ktv筹备计划书
2014/05/03 职场文书
公司爱心捐款倡议书
2014/05/14 职场文书
如何写求职信
2014/05/24 职场文书
关于安全的广播稿
2014/10/23 职场文书
贪污检举信范文
2015/03/02 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
技能培训通讯稿
2015/07/18 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
Java中的继承、多态以及封装
2022/04/11 Java/Android
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python