方法调用返回值和输出值不同

2018-06-22 04:58:36来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

现象:调动方法,在return之前有输出值,但是在调用方法中就没有相应的返回值

解决办法:折腾了好久,原来在构造方法中已经传递了需要的变量,在方法中再次传递变量,在构造方法中有输出值,但是在方法中因为参数传递错误无法正常得到返回值。代码如下

public function __construct ( $usrid, $firmid=0, $depart=0 ) {
		$usrid = abs(intval($usrid));
		parent::__construct($usrid);
		
		$firmid = abs(intval($firmid));
		$depart = abs(intval($depart));
		if ( empty($firmid) ) $firmid = FirmStaff::club($usrid);
		if ( empty($depart) ) $depart = FirmStaff::work4firm($usrid, $firmid);
		
		$this->_usrid = $usrid;
	}

  

public function joinurl ($userid) {
	    if ( empty($userid) ) throw new Exception('查询的主键信息不能为空');
	    $clubid = FirmStaff::club($userid);
	    if ( !isset($clubid) || empty($clubid) ) throw new Exception( '该用户没有公司,请联系公司的HR' );
	    debug_print_backtrace();die();
            $firmobj = new CMFirm($clubid);
            $nmroad  = $firmobj->challengemap(null,false,true);
            
            $roadlinks = UtilRoad::roadmaplinks();
            
	    return isset($roadlinks[$nmroad]) ? $roadlinks[$nmroad] : '/acteam/index';
	}

反思:这种写代码方式是需要避免的,在构造方法中已经实例化的参数不要在在方法参数中添加,这样做会是问题复杂化。  

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:ThinkPHP5中Session的使用

下一篇:dedecms4张关键表解析之1