不要再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
原文地址:https://www.cnblogs.com/ooooo/p/2249281.html