Heim WeChat-Applet WeChat-Entwicklung Ausführliche Erläuterung der Integration der WeChat-Zahlungsfunktion durch Thinkphp

Ausführliche Erläuterung der Integration der WeChat-Zahlungsfunktion durch Thinkphp

Dec 02, 2017 am 10:21 AM
php thinkphp 详解

WeChat-Zahlungen sind mittlerweile in unserem Leben weit verbreitet und WeChat-Applets erfreuen sich auch während der Entwicklung großer Beliebtheit. In diesem Artikel werden wir Ihnen weiterhin die Integration der WeChat-Zahlungsfunktion durch Thinkphp erläutern.

1. Öffentliches WeChat-Konto:

Legen Sie den Domänennamen fest, der Benutzer-ID-Informationsberechtigungen unter den eindeutigen App-ID-, Appscrect- und Schnittstellenberechtigungen erhalten kann (jeder Benutzer verfügt über eine eindeutige ID für verschiedene Öffentlichkeiten). Rufen Sie über diese ID die grundlegenden Informationen des WeChat-Kontos des Benutzers ab (Einzelheiten finden Sie in der WeChat-Entwicklerdokumentation), legen Sie das WeChat-Zahlungsautorisierungsverzeichnis auf der WeChat-Zahlungsschaltfläche fest (geschrieben auf der Ebene des Controllers, der die Anforderung initiiert) und legen Sie fest Das WeChat-Konto des Entwicklers als Test-Whitelist (Erforderlich bei Verwendung von WeChat-Entwicklertools)

2. WeChat-Zahlungsplattform:

Anmeldekonto der Händlerplattform, Zahlungsschlüssel (Sie können ihn jederzeit selbst festlegen , es kann nur eine geben),

3. Integrieren Sie die Logik in thinkphp:

Legen Sie die Front-End-WeChat-Zahlungsschaltfläche fest und klicken Sie, um die Zahlungsinitiierungssteuerungsmethode aufzurufen,

Der Controller wird ausgeführt, verweist auf die WeChat-Zahlungsklasse und ruft die Benutzer-OpenID ab, ruft die Bestelldaten ab, fügt alle für die Vorauszahlungs-JSP normaler Händler erforderlichen Daten zusammen, zeigt die benutzerdefinierte Zahlungsseite an,

Klicken Sie hier Bezahlen Sie auf der Zahlungsseite und rufen Sie die von WeChat bereitgestellte JSPI-Skriptfunktion auf, um die Zahlung einzuleiten.

Nach Abschluss der Zahlung wird die Seite zum Sprungverzeichnis {:U('controller /function)} wird in der Skriptfunktion der benutzerdefinierten Zahlungsseite festgelegt) und die asynchrone (stille) Einstellung lautet: Auftragslogik verarbeiten (Zahlungszeit aufzeichnen, als bezahlt markieren, als WeChat-Zahlung markieren) usw.,

Code:

WeChat-Zahlungsschaltfläche auf meiner Bestellseite:

WeChat Payment

Initiieren Sie den Zahlungscontroller Wxpay:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

<?php

namespace Home\Controller;

use Think\Controller;

//微信支付类

class WxpayController extends Controller {

 //获取access_token过程中的跳转uri,通过跳转将code传入jsapi支付页面

 public function js_api_start(){

  if(!empty($_GET[&#39;order_key_num&#39;])){

   // session(array(&#39;pay_now_id&#39;=>$_GET[&#39;order_key_num&#39;],&#39;expire&#39;=>3600));

   S(&#39;pay_now_id&#39;,$_GET[&#39;order_key_num&#39;],3600);

  }

  vendor(&#39;Weixinpay.WxPayPubHelper&#39;);

  //使用jsapi接口

  $jsApi = new \JsApi_pub();

  //=========步骤1:网页授权获取用户openid============

  //通过code获得openid

   if($_GET[&#39;code&#39;] == &#39;&#39;){

   //跳转

    $redirect_uri = &#39;https://当前域名+模块+控制器+方法&#39;;

    $url = &#39;https://open.weixin.qq.com/connect/oauth2/authorize

    ?appid=公众号特有IDredirect_uri=&#39;.$redirect_uri.&#39;&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect&#39;;

    header("Location: $url");

    exit();

   }else{

   //获取openid

   $url = &#39;https://api.weixin.qq.com/sns/oauth2/access_token

   ?appid=公众号ID&secret=公众号scrept&code=&#39;.$_GET[&#39;code&#39;].&#39;&grant_type=authorization_code&#39;;

   $openid_arr = json_decode(file_get_contents($url),true);

  }

  $openid=$openid_arr[&#39;openid&#39;];

  $pay_now_id = S(&#39;pay_now_id&#39;);

  if($pay_now_id){

   $id=$pay_now_id;

   $o = D(&#39;order_info&#39;);

   $order_info = $o->where(&#39;order_id = %d&#39;,$id)->find();

   if(empty($order_info[&#39;paycode&#39;])){

    $order_info[&#39;paycode&#39;] = &#39;weixin&#39;;

   }

   if($order_info[&#39;is_pay&#39;]){

    $this->error(&#39;当前订单已经支付&#39;);

   }

  }else{

   $this->error("不存在当前订单编号!");

  }

   $res = array(

   &#39;order_sn&#39; => $order_info[&#39;order_sn&#39;],

   &#39;order_amount&#39; => $order_info[&#39;pay_money&#39;]

   );

  //=========步骤2:使用统一支付接口,获取prepay_id============

  //使用统一支付接口

  $unifiedOrder = new \UnifiedOrder_pub();

  //设置统一支付接口参数

  //设置必填参数

  //appid已填,商户无需重复填写

  //mch_id已填,商户无需重复填写

  //noncestr已填,商户无需重复填写

  //spbill_create_ip已填,商户无需重复填写

  //sign已填,商户无需重复填写

  $total_fee = $order_info[&#39;pay_money&#39;]*100;

  // $total_fee = $res[&#39;order_amount&#39;];

  //$total_fee = 1;

  // var_dump($order_info[&#39;pay_money&#39;]);die;

  $body = "订单支付";

  $unifiedOrder->setParameter("openid", "$openid");//用户标识

  $unifiedOrder->setParameter("body", &#39;商品采购&#39;);//商品描述

  //自定义订单号,此处仅作举例

  $unifiedOrder->setParameter("out_trade_no", $order_info[&#39;order_sn&#39;]);//商户订单号

  $unifiedOrder->setParameter("total_fee", $total_fee);//总金额

  //$unifiedOrder->setParameter("attach", "order_sn={$res[&#39;order_sn&#39;]}");//附加数据

  $unifiedOrder->setParameter("notify_url", \WxPayConf_pub::NOTIFY_URL);//通知地址

  $unifiedOrder->setParameter("trade_type", "JSAPI");//交易类型

  //非必填参数,商户可根据实际情况选填

  //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号

  //$unifiedOrder->setParameter("device_info","XXXX");//设备号

  //$unifiedOrder->setParameter("attach","XXXX");//附加数据

  //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间

  //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间

  //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记

  //$unifiedOrder->setParameter("openid","XXXX");//用户标识

  //$unifiedOrder->setParameter("product_id","XXXX");//商品ID

  $prepay_id = $unifiedOrder->getPrepayId();

  // var_dump($prepay_id);die;

  //=========步骤3:使用jsapi调起支付============

  $jsApi->setPrepayId($prepay_id);

  $jsApiParameters = $jsApi->getParameters();

  $wxconf = json_decode($jsApiParameters, true);

  if ($wxconf[&#39;package&#39;] == &#39;prepay_id=&#39;) {

   $this->error(&#39;当前订单存在异常!&#39;);

  }

  $this->assign(&#39;res&#39;, $res);

  $this->assign(&#39;jsApiParameters&#39;, $jsApiParameters);

  $this->display(&#39;jsapi&#39;);

 }

 //异步通知url,商户根据实际开发过程设定

 public function notify_url() {

  vendor(&#39;Weixinpay.WxPayPubHelper&#39;);

  //使用通用通知接口

  $notify = new \Notify_pub();

  //存储微信的回调

  $xml = $GLOBALS[&#39;HTTP_RAW_POST_DATA&#39;];

  $notify->saveData($xml);

  //验证签名,并回应微信。

  //对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,

  //微信会通过一定的策略(如30分钟共8次)定期重新发起通知,

  //尽可能提高通知的成功率,但微信不保证通知最终能成功。

  if($notify->checkSign() == FALSE){

   $notify->setReturnParameter("return_code", "FAIL");//返回状态码

   $notify->setReturnParameter("return_msg", "签名失败");//返回信息

  }else{

   $notify->setReturnParameter("return_code", "SUCCESS");//设置返回码

  }

  $returnXml = $notify->returnXml();

  //==商户根据实际情况设置相应的处理流程,此处仅作举例=======

  //以log文件形式记录回调信息

  //$log_name = "notify_url.log";//log文件路径

  //$this->log_result($log_name, "【接收到的notify通知】:\n".$xml."\n");

  $parameter = $notify->xmlToArray($xml);

  //$this->log_result($log_name, "【接收到的notify通知】:\n".$parameter."\n");

  if($notify->checkSign() == TRUE){

   if ($notify->data["return_code"] == "FAIL") {

    //此处应该更新一下订单状态,商户自行增删操作

    //$this->log_result($log_name, "【通信出错】:\n".$xml."\n");

    //更新订单数据【通信出错】设为无效订单

    echo &#39;error&#39;;

   }

   else if($notify->data["result_code"] == "FAIL"){

    //此处应该更新一下订单状态,商户自行增删操作

    //$this->log_result($log_name, "【业务出错】:\n".$xml."\n");

    //更新订单数据【通信出错】设为无效订单

    echo &#39;error&#39;;

   }

   else{

    //$this->log_result($log_name, "【支付成功】:\n".$xml."\n");

    //我这里用到一个process方法,成功返回数据后处理,返回地数据具体可以参考微信的文档

    if ($this->process($parameter)) {

     //处理成功后输出success,微信就不会再下发请求了

     echo &#39;success&#39;;

    }else {

     //没有处理成功,微信会间隔的发送请求

     echo &#39;error&#39;;

    }

   }

  }

 }

 //订单处理

 private function process($parameter) {

  //此处应该更新一下订单状态,商户自行增删操作

  /*

  * 返回的数据最少有以下几个

  * $parameter = array(

   &#39;out_trade_no&#39; => xxx,//商户订单号

   &#39;total_fee&#39; => XXXX,//支付金额

   &#39;openid&#39; => XXxxx,//付款的用户ID

  );

  */

  $data = array(

      &#39;order_sn&#39;=>$parameter[&#39;out_trade_no&#39;],

      &#39;des&#39;=>(&#39;订单交易:&#39;.$parameter[&#39;out_trade_no&#39;]),

      &#39;money&#39;=>$parameter[&#39;total_fee&#39;],

     );

  orderhandlestarysdgdss($data);//这是一个common方法,他会将该订单状态设置为已支付之类的

  return true;

 }

}

?>

Nach dem Login kopieren

Fügen Sie nach dem Einleiten der Zahlung die Parameter für die Vorauszahlungsdaten zusammen (siehe WeChat-Normal). Händlerentwicklerdokumentation für die Parameterliste – WeChat Payment – ​​Unified Order) Anzeigeseite:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />

<meta name="format-detection" content="telephone=no"/>

<title>下</title>

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

<meta name="keyword" content="">

<meta name="description" content="">

<script type="text/javascript">

var order_sn = "{$res[&#39;order_sn&#39;]}";

//调用微信JS api 支付

function jsApiCall(){

 WeixinJSBridge.invoke(

  &#39;getBrandWCPayRequest&#39;,

  <?php echo $jsApiParameters; ?>,

  function(res){

   //如果支付成功

   if (res.err_msg == &#39;get_brand_wcpay_request:ok&#39;) {

    //支付成功后跳转的地址

    location.href = "{:U(&#39;Home/User/my_order&#39;)}";

   }else if (res.err_msg == &#39;get_brand_wcpay_request:cancel&#39;) {

    alert(&#39;请尽快完成支付哦!&#39;);

   }else if (res.err_msg == &#39;get_brand_wcpay_request:fail&#39;) {

    alert(&#39;支付失败&#39;);

   }else {

    alert(&#39;意外错误&#39;);

   }

   //WeixinJSBridge.log(res.err_msg);

   //alert(res.err_code+res.err_desc+res.err_msg);

   /*if (res.err_msg == &#39;get_brand_wcpay_request:ok&#39;) {

    alert(&#39;支付成功&#39;);

   }else {

    alert(&#39;取消支付&#39;);

   }*/

  }

 );

}

function callpay(){

 if (typeof WeixinJSBridge == "undefined"){

  if( document.addEventListener ){

   document.addEventListener(&#39;WeixinJSBridgeReady&#39;, jsApiCall, false);

  }else if (document.attachEvent){

   document.attachEvent(&#39;WeixinJSBridgeReady&#39;, jsApiCall);

   document.attachEvent(&#39;onWeixinJSBridgeReady&#39;, jsApiCall);

  }

 }else{

  jsApiCall();

 }

}

</script>

<style>

*{font-family:&#39;微软雅黑&#39;,&#39;Microsoft YaHei&#39;;}

body #head{position:relative;z-index:99999999999999;padding:0 10px;}

body .zh-head{padding:0 0 0 0;height:auto;}

.zh-head-conter{position:relative;height:40px;}

.zh-logo{position:absolute;left:50%;top:0;margin:0 0 0 -60px;float:none;width:auto;}

.zh-logo a{display:block;}

.zh-logo img{width:120px;height:40px;display:block;}

.heads_fix .zh-logo{}

#head{position:fixed!important;left:0;top:0;right:0;z-index:99999;background:#fff;border-bottom:1px solid #ddd;}

.zh-logo{height:40px;}

.flowpay{margin-top:25%;}

.flowpay dt{text-align:center;}

.flowpay strong.price{font-size:40px;}

.wxLogo{text-align:center;}

.wxLogo img{}

.flowpay dd{margin:0;padding:20px 0 10px 0;}

.flowpay dd input{margin:0 auto;padding:0;width:90%;height:45px;line-height:45px;border:0;border-radius:4px;background:#0CBC0A;color:#fff;font-size:17px;display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;}

</style>

</head>

<body>

<!--头部开始-->

<div class="flowpay">

 <dl>

  <dt>

   <p class="wxLogo"><img src="/static/imghw/default1.png"  data-src="__PUBLIC__/home/images/1479953699138120.png"  class="lazy"   alt=""></p>

   本次订单需支付:¥<strong class="price">{$res[&#39;order_amount&#39;]}</strong> 元

  </dt>

  <dd>

   <input type="button" id="hhhhhh" onclick="callpay()" value="立即支付" />

  </dd>

 </dl>

</div>

<!--尾结束-->

</body>

</html>

Nach dem Login kopieren

Dann gibt es die Klassendateien:

Ausführliche Erläuterung der Integration der WeChat-Zahlungsfunktion durch Thinkphp

Dass cacert das Zertifikatspeicherverzeichnis ist; das Zertifikat wird nicht unbedingt benötigt;

Suchen Sie einfach nach dem Vendor-Ordner in „Meine Dateien“.

Der obige Inhalt ist Thinkphp, der die WeChat-Zahlungsfunktion integriert. Ich hoffe, er kann allen helfen.

Verwandte Empfehlungen:

So implementieren Sie WeChat-Applet-Zahlung und -Rückerstattung in PHP

Einführungsbeispiel für die WeChat-Applet-Entwicklung

Kapselung von Netzwerkanfragen im WeChat-Applet

Instanz der Passworteingabe im WeChat-Applet

WeChat-Applet Robot automatisch Kundendienstfunktion

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Integration der WeChat-Zahlungsfunktion durch Thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

PHP und Python: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

See all articles