zoukankan      html  css  js  c++  java
  • 不要再ifelse中嵌套ifesle

    简介:这是不要再ifelse中嵌套ifesle的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=333684' scrolling='no'>

    由于搞二次开发骂过以前代码的作者,所以为了避免被人骂,尝试写注释,发现注释多了代码更乱了。今天对一个函数code review,总结了一个以前看到过的经验:尽量不要再ifelse中嵌套ifelse。

    下面贴图,贴代码对比一下。

    code review前:

    	/**
    	 * 获取用户信息
    	 * @return link为邀请链接,
    	 *         score为积分,
    	 *         nick为昵称,
    	 *         num为作品数,以此确定分页数量,
    	 *         opus1为当前页第一副作品图片,
    	 *         opus2当前页第二幅作品图片地址,
    	 *         opus3当前页第三幅作品
    	 */
    	public function uinfoAction(){
    		$random = $this->request->getGetParameter('random');//随机数
    		$pwd = $this->request->getGetParameter('pwd');//私钥
    		//$page = $this->request->getGetParameter('page',1);//当前页面
    		//验证flash请求是否正确
    		if($pwd==md5("tenwowactqqcom@tenwow123".$random)){
    			//验证qq是否登录
    			if (TMAuthUtils::isLogin()){
    				$qq = TMAuthUtils::getUin();
    				$link = TMLibHtmlHelper::urlJump(TMConfig::BASE_URL,$qq,1,TMConfig::TAMS_ID);//邀请好友链接
    				$service = new TMService();
    				$info = $service->selectOne(array('FQQ'=>$qq),'FScoreCount,FNick','Tbl_User');//获取昵称
    				//flash方要求全部获取数据
    				/*$number = ($page-1)*3;
    				$count = count($service->select(array("FQQ"=>$qq),'*','Tbl_File'));
    				$list = $service->select(array("FQQ"=>$qq),"FUrl",'Tbl_File',array($number,3),array('orderby'=>'FFileId  DESC'));*/
    				//判断$list是否为空
    				$count = count($service->select(array("FQQ"=>$qq),'*','Tbl_File'));
    				$list = $service->select(array("FQQ"=>$qq),"FUrl",'Tbl_File');
    				$pic = array();//图片地址数组
    				foreach ($list as $li){
    					$li[0] = TMConfig::BASE_URL."data/".$li[0];
    					$pic[]=$li[0];
    				}
    				return json_encode(array('code'=>'0',
                                             'message'=>'成功拉取数据',
                                             'qq'=>"$qq",
                                             'link'=>$link,
                                             'score'=>$info['FScoreCount'],
                                             'nick'=>$info['FNick'],
    				                         'wblog'=>"1000",
    				                         'num'=>"$count",
                                             'pic'=>$pic,
                                             ));
    			}else{
    				return json_encode(array("code"=>'1','message'=>'对不起,您还没有登录!'));
    			}//endif 验证qq是否登录
    		}else{
    			return json_encode(array("code"=>'2','message'=>'请从合法链接参与游戏!'));
    		}//endif 验证flash请求是否正确
    	}

    code review之后:

    	/**
    	 * 获取用户信息
    	 * @return code    string    返回信息代码
    	 *         message string  返回信息
    	 *         qq  string  用户QQ
    	 *         link    string  邀请好友参加活动的链接
    	 *         score   string  活动当前的积分数
    	 *         nick    string   用户昵称
    	 *         wblog   string  微博关注数
    	 *         num string  当前作品总数
    	 *         pic array   作品地址
    	 */
    	public function uinfoAction(){
    		$random = $this->request->getGetParameter('random');//随机数
    		$pwd = $this->request->getGetParameter("pwd");//私钥
    		//判断是否从合法链接参与游戏
    		if($pwd!=md5("tenwowactqqcom@tenwow123".$random)){
    			return json_encode(array("code"=>"2","message"=>"请从合法链接参与游戏!"));
    		}
    		//判断是否登录
    		if(!TMAuthUtils::isLogin()){
    			return json_encode(array("code"=>"1","message"=>"对不起,您还没有登录!"));
    		}
    		$qq = TMAuthUtils::getUin();//获取登录QQ
    		$link = TMLibHtmlHelper::urlJump(TMConfig::BASE_URL,$qq,1,TMConfig::TAMS_ID);//获取邀请链接
    		$service = new TMService();//创建操作数据的对象
    		$info = $service->selectOne(array("FQQ"=>$qq),"FScoreCount,FNick","Tbl_User");//获取登录QQ昵称,活动积分
    		$picCount = count($service->select(array("FQQ"=>$qq),"FUrl","Tbl_File"));//获取当前作品数
    		$pic = array();//初始化图片地址数组
    		$list = $service->select(array("FQQ"=>$qq),"FUrl","Tbl_File");//获取图片地址
    		//由于select查询出来的是二维数组,要将其取出放到$pic中
    		foreach($list as $li){
    			$pic[]=TMConfig::BASE_URL."data/".$li[0];
    		}
    		//-----------还有获取微博关注数未开发wblog
    		return json_encode(array("code"=>"0",
    		                         "message"=>"成功拉取数据",
    		                         "qq"=>"{$qq}",
    		                         "link"=>"{$link}",
    		                         "score"=>"{$info['FScoreCount']}",
    		                         "nick"=>"{$info['FNick']}",
    		                         "wblog"=>"100000",
    		                         "num"=>"{$picCount}",
    		                         "pic"=>"{$pic}"));
    	}
    效果很明显。

    “不要再ifelse中嵌套ifesle”的更多相关文章 》

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/333684.html pageNo:11
  • 相关阅读:
    atitit.nfc 身份证 银行卡 芯片卡 解决方案 attilax总结
    atitit.php 流行框架 前三甲为:Laravel、Phalcon、Symfony2 attilax 总结
    Atitit.执行cmd 命令行 php
    Atitit. 图像处理jpg图片的压缩 清理垃圾图片 java版本
    atitit。企业组织与软件工程的策略 战略 趋势 原则 attilax 大总结
    atitit. 管理哲学 大毁灭 如何防止企业的自我毁灭
    Atitit.java的浏览器插件技术 Applet japplet attilax总结
    Atitit.jquery 版本新特性attilax总结
    Atitit. 软件开发中的管理哲学一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向
    (转)获取手机的IMEI号
  • 原文地址:https://www.cnblogs.com/ooooo/p/2249281.html
Copyright © 2011-2022 走看看