# 云函数引入 php-sdk 快速教程

# 准备工作

npm i -g @cloudbase/cli
  • 登录云开发
cloudbase login
  • 进入当前 php 项目根目录下进行初始化
cloudbase init --without-template
  • 在 php 项目根目录下创建 functions 文件夹存放云函数,进入 functions 文件夹并新建 phpTest 云函数

  • phpTest 云函数中新建并编辑入口文件 index.php 如下
<?php

function main_handler($event, $context)
{
  require_once __DIR__ . DIRECTORY_SEPARATOR . 'tcb-php-sdk' . DIRECTORY_SEPARATOR . 'autoload.php';
  $tcb = new TencentCloudBase\TCB(array("secretId" => "xxx", "secretKey" => "xxx"));

  print($tcb)
  // your code

 return 'helllo world'
}
  • phpTest 云函数中编辑 composer.json 如下
{
  "require": {
    "tencentcloudbase/tcb-php-sdk": "1.0"
  }
}
  • 配置

cloudbase init 之后会创建云开发的配置文件 cloudbaserc.json,可在配置文件的 plugins 里修改和写入插件配置

{
  "envId": "xxx", // 替换为开发者自己的envId
  "framework": {
    "plugins": {
      "function": {
        "use": "@cloudbase/framework-plugin-function",
        "inputs": {
          "functionRootPath": "./functions",
          "functions": [
            {
              "name": "phpTest",
              "timeout": 60,
              "envVariables": {},
              "runtime": "Php7",
              "memorySize": 128,
              "handler": "index.main_handler"
            }
          ]
        }
      }
    }
  }
}

# 云函数部署

php 项目根目录下一键部署

cloudbase framework:deploy

# 云函数调用

  • 进入小程序开发者工具,同步云函数列表,可以看到列表中有上传的云函数 phpTest,编写云函数调用代码

示例代码

wx.cloud
  .callFunction({
    name: "phpTest",
    data: {}
  })
  .then((res) => {
    console.log(res);
  })
  .catch((err) => {
    console.error(err);
  });