smadeira/planning-center-api

Planning Center JSON API 的 PHP API 包装器

v4.0.0 2021-06-11 19:39 UTC

This package is auto-updated.

Last update: 2024-09-12 17:27:45 UTC


README

一个用于访问 Planning Center 数据的 PHP 包装器。

安装

包含包

此包通过 Composer 安装,以下假设您已经为项目安装并初始化了 Composer。有关如何安装 Composer 和创建初始 composer.json 的帮助,请参阅Composer 网站。

要将部务平台 API 添加到您的项目中,只需添加此包即可

composer require smadeira/planning-center-api

或者,您可以直接编辑 composer.json 文件以添加部务平台 API

"require": {
        "php": ">=7.0.0",
        "smadeira/planning-center-api": "^2.0.0"
    },

更新包

使用 Composer 包括 API 包装器后,执行 composer update 以下载 API 包装器功能所需的依赖项。

composer update

更新命令将下载所有依赖项(包括 API 包装器代码)到 vendor 目录。完成后,您就可以开始开发了。

注意:定期运行 "composer update" 以下载 API 包装器的最新版本及其所有依赖项是个好主意。这就是 Composer 的美妙之处。它为您管理所有这些,您不必自己管理。

配置

要配置 API 包装器以在您的环境中运行,需要做一些事情。

连接参数

此包使用 vlucas/phpdotenv 来管理配置变量。在您的项目根目录下创建一个 .env 文件,内容如下。确保您使用的是安装的正确 URI、客户端 ID 和密钥。

# Planning Center API Parameters
PCO_APPLICATION_ID=YOU_PCO_APPLICATION_ID
PCO_SECRET=YOUR_PCO_SECRET

加载 API 包装器

在您的代码顶部,您需要做一些事情以获取对 API 包装器的访问权限。您需要包含自动加载功能并从 .env 文件中加载配置设置

以下是一个脚本顶部的示例。

require_once __DIR__ . '/vendor/autoload.php';

use PlanningCenterAPI\PlanningCenterAPI as PCO;

// Get environment variables
$dotenv = Dotenv\Dotenv::createUnsafeImmutable(__DIR__);
$dotenv->load();

用法

用法很简单。构建并执行您的请求。

执行选择查询

API 包装器使用与在线 Planning Center API 页面相同的语法和格式。要执行简单的查询,您需要定义不同的组件并执行。此示例将获取 People 模块中所有姓氏为 Smith 的人(目前支持 People 和 Services),包括他们的地址、电子邮件和电话号码。它按姓氏降序排列(Z - A)

// Get all people named Smith and sort by first name in descending order.  Then, print the results in array format (you would do additional processing 
// of the data depending on your needs.

$pco = new PCO();

$people = $pco->module('people')
            ->table('people')
            ->where('last_name', '=', 'Smith')
            ->includes('addresses,emails,phone_numbers')
            ->order('-first_name')
            ->get();
        
(!$people) ? print_r( $pco->errorMessage() ) : print_r($people);         

整个脚本

以下是整个脚本...

<?php

require_once __DIR__ . '/vendor/autoload.php';

use PlanningCenterAPI\PlanningCenterAPI as PCO;

// Get environment variables
$dotenv = Dotenv\Dotenv::create(__DIR__);
$dotenv->load();

$pco = new PCO();

$people = $pco->module('people')
            ->table('people')
            ->where('last_name', '=', 'Smith')
            ->includes('addresses,emails,phone_numbers')
            ->order('-first_name')
            ->get();
        
(!$people) ? print_r( $pco->errorMessage() ) : print_r($people); 

现在支持 POST、PUT、PATCH 和 DELETE,以及它们对应的 put()、delete() 等方法。