ホームページ > バックエンド開発 > PHPチュートリアル > PHP 学習メモ: WeChat アプレットとパブリック アカウントの開発

PHP 学習メモ: WeChat アプレットとパブリック アカウントの開発

王林
リリース: 2023-10-09 11:06:01
オリジナル
1210 人が閲覧しました

PHP 学習メモ: WeChat アプレットとパブリック アカウントの開発

PHP 学習ノート: WeChat アプレットとパブリック アカウントの開発

モバイル インターネットの急速な発展に伴い、WeChat は最も広く使用されているソーシャル メディア プラットフォームの 1 つになりました。 。ユーザーのニーズを満たすために、WeChat ではミニプログラムと公式アカウントの 2 つの開発方法が提供されています。この記事では、PHP 言語を使用して WeChat ミニ プログラムと公開アカウントを開発する方法を紹介し、いくつかの具体的なコード例を示します。

1. WeChat ミニ プログラムの開発

  1. 準備作業

まず、WeChat パブリック プラットフォームでミニ プログラム アカウントを申請し、取得する必要があります。ミニ プログラム アカウント プログラムの AppID と AppSecret。次に、PHP 開発環境をローカルに構築し、PHP 実行環境と関連する拡張ライブラリがインストールされていることを確認します。

  1. ミニ プログラム ログイン

ミニ プログラム ログインは、ミニ プログラム開発における重要な機能です。 WeChat が提供するログイン API を使用して、ミニ プログラムのユーザー ログインおよび登録機能を実装できます。以下は簡単なサンプル コードです:

<?php
// 获取小程序登录凭证code
$code = $_GET['code'];

// 调用接口,获取session_key和openid
$url = "https://api.weixin.qq.com/sns/jscode2session?appid=YOUR_APPID&secret=YOUR_APP_SECRET&js_code=$code&grant_type=authorization_code";
$response = file_get_contents($url);
$result = json_decode($response, true);

$session_key = $result['session_key'];
$openid = $result['openid'];

// 根据openid查询用户信息,如果不存在则注册新用户
// ...
?>
ログイン後にコピー
  1. データ操作

ミニ プログラムは通常、データを取得するためにバックグラウンド データベースと対話する必要があり、PHP 言語を使用してデータベースを操作します。以下は、MySQL データベースを使用したサンプル コードです。

<?php
// 连接数据库
$mysqli = new mysqli('localhost', 'username', 'password', 'dbname');

// 查询数据
$query = "SELECT * FROM users";
$result = $mysqli->query($query);

// 处理查询结果
while ($row = $result->fetch_assoc()) {
    echo $row['name'];
}

// 插入数据
$name = $_POST['name'];
$age = $_POST['age'];
$query = "INSERT INTO users (name, age) VALUES ('$name', '$age')";
$mysqli->query($query);

// 更新数据
$id = $_POST['id'];
$name = $_POST['name'];
$query = "UPDATE users SET name='$name' WHERE id=$id";
$mysqli->query($query);

// 删除数据
$id = $_POST['id'];
$query = "DELETE FROM users WHERE id=$id";
$mysqli->query($query);

// 关闭数据库连接
$mysqli->close();
?>
ログイン後にコピー

2. WeChat パブリック アカウントの開発

  1. 準備作業

同様に、 WeChat パブリック アカウント プラットフォームはパブリック アカウントを申請し、パブリック アカウントの AppID と AppSecret を取得します。次に、公式アカウントの設定でメッセージの受信と検証用の URL とトークンを設定します。

  1. メッセージの受信

パブリック アカウントは、ユーザーが送信したテキスト メッセージ、画像メッセージ、音声メッセージなどを受信できます。以下はテキスト メッセージを受信するサンプル コードです。

<?php
// 验证消息的合法性
$signature = $_GET['signature'];
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$token = 'YOUR_TOKEN';

$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode('', $tmpArr);
$tmpStr = sha1($tmpStr);

if ($tmpStr == $signature) {
    // 验证成功
    // 处理接收的消息
    $postStr = file_get_contents('php://input');
    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    
    $type = $postObj->MsgType;
    switch ($type) {
        case 'text':
            $content = $postObj->Content;
            echo "接收到文本消息:$content";
            break;
        // 其他类型的消息
        // ...
    }
} else {
    // 验证失败
    echo "验证失败";
}
?>
ログイン後にコピー
  1. メッセージの送信

公式アカウントは、テキスト メッセージ、画像メッセージ、グラフィック メッセージなどをユーザーに送信できます。以下はテキスト メッセージを送信するためのサンプル コードです:

<?php
// 发送文本消息
$access_token = 'YOUR_ACCESS_TOKEN';
$openid = 'USER_OPENID';
$content = 'Hello, World!';

$url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$access_token";
$data = array(
    'touser' => $openid,
    'msgtype' => 'text',
    'text' => array('content' => $content)
);

$options = array(
    'http' => array(
        'method' => 'POST',
        'header' => 'Content-Type:application/json',
        'content' => json_encode($data)
    )
);

$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response, true);

if ($result['errcode'] == 0) {
    echo "发送成功";
} else {
    echo "发送失败";
}
?>
ログイン後にコピー

上記は、PHP 言語を使用して WeChat アプレットとパブリック アカウントを開発するための基本的な操作の一部です。もちろん、WeChat の開発にはまだ多くのことが関係しており、さらに深い研究と実践が必要です。皆さんがWeChat発展の道をさらに前進することを願っています。

以上がPHP 学習メモ: WeChat アプレットとパブリック アカウントの開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート