2021-10-31

博客介绍了在将PHP从较低版本升级到7.4后,在使用阿里支付PHP SDK时遇到的问题。文章重点在于解决AopClient.php文件中因each函数被弃用导致的错误,并提供了相应的代码片段展示如何使用foreach进行替换,以确保代码在PHP7.4中的正常运行。
摘要由CSDN通过智能技术生成

#阿里支付php升级到7.4 之后遇到的一些小问题

// 修改了php 阿里支付 sdk 开发包,AopClient.php 430行左右。
希望对遇到此类问题的小伙伴有帮助

下面展示一些 内联代码片

/**
     * 建立请求,以表单HTML形式构造(默认)
     * @param $para_temp 请求参数数组
     * @return 提交表单HTML文本
     */
	protected function buildRequestForm($para_temp) {
		
		// This function is marked as deprecated in PHP 7.2.0 and is removed in PHP 8.0.0, the replacement for legacy code would look like this:
		//var_dump($para_temp);
		//2021.10.31 lb			
		$sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='".$this->gatewayUrl."?charset=".trim($this->postCharset)."' method='POST'>";
		// while (list ($key, $val) = each ($para_temp)) {
		// php升级为7.4的时候发现的问题,each函数已经弃用
		// 	if (false === $this->checkEmpty($val)) {
		// 		//$val = $this->characet($val, $this->postCharset);
		// 		$val = str_replace("'","&apos;",$val);
		// 		//$val = str_replace("\"","&quot;",$val);
		// 		$sHtml.= "<input type='hidden' name='".$key."' value='".$val."'/>";
		// 	}
        // }
		foreach ($para_temp as $key => $value) {
			# code...
			if (false === $this->checkEmpty($value)) {
				# code...
				$value = str_replace("'" ,"&apos;",$value);
				$sHtml.="<input type='hidden' name='".$key."' value='".$value."'/>";
			}
			
		}

		//submit按钮控件请不要含有name属性
        $sHtml = $sHtml."<input type='submit' value='ok' style='display:none;''></form>";
		
		$sHtml = $sHtml."<script>document.forms['alipaysubmit'].submit();</script>";
	
		return $sHtml;
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值