首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带SendInBlue点火器的PHP

带SendInBlue点火器的PHP
EN

Stack Overflow用户
提问于 2018-06-24 18:12:57
回答 2查看 4.4K关注 0票数 8

我正在使用Codeigniter框架,并试图与SendInBlue的PHP集成。他们的PHP文档不是超级有用的,Github上的设置说明也不清楚。

医生说“下载文件并包含autoload.php":

代码语言:javascript
复制
require_once('/path/to/APIv3-php-library/vendor/autoload.php');

但是我在任何地方都找不到autoload,我也不知道如何将它包含在CI结构中。

更新:

我联系了Sendinblue支持,他们没有任何针对CI用户的安装教程。我尝试使用Compiler,并创建了文件夹结构,但我仍然存在将其与CI集成的问题。我把所有的文件夹放在我的库中,但是它没有正确加载,并且抱怨Autoload类不存在。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-30 11:06:58

要获得autoload.php,您需要使用作曲家。这将解决所有依赖项,并为您安装/更新它们。

如果库位置中已有整个SendInBlue API文件夹结构,则只能在class My_Class ... line require_once (APPPATH . 'vendor/autoload.php');之前添加控制器。

例如:

代码语言:javascript
复制
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

// include manually module library - SendInBlue API
require_once (APPPATH . 'vendor/autoload.php');

class My_Class extends CI_Controller {
....

之后,您可以按照Github: APIv3 3-php-库-入门的指南进行操作。

如果出现错误,就意味着SendInBlue的结构很糟糕。我建议你使用作曲家

  1. 安装编写器(如果没有安装)- 安装- Linux / Unix / OSX安装- Windows
  2. 用Composer - Github: APIv3 3-php-库-安装和使用安装SendinBlue的API
  3. 在控制器中添加autoload.php -参见前面的示例

如果您还有问题,请在这里添加错误列表。

票数 3
EN

Stack Overflow用户

发布于 2021-01-28 13:42:33

我有一个很好的解决方案,这对我来说很好,我希望它也能对你有用。我使用的是API-v3。

我所做的是:

  1. 在本地PC上通过composer下载了API。
  2. 在服务器上创建一个名为"sendinblue“的文件夹(其中有资产文件夹),并从该文件夹中下载的API上传供应商文件夹。
  3. 创建了一个名为"Sendinblue.php“的库,并在这里添加了所有必需的函数。现在我可以像其他库一样使用这个库了。

这是我的图书馆结构:

代码语言:javascript
复制
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Sendinblue{
    public $config;
    public $apiInstance;
    public function __construct(){      
        require_once('sendinblue/vendor/autoload.php');
        $this->config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', '');
        $this->apiInstance = new SendinBlue\Client\Api\ContactsApi(
            new GuzzleHttp\Client(),
            $this->config
        );      
    }

    public function get_contact_info($data){
        $identifier = $data['email'];
        try {
          return $result = $this->apiInstance->getContactInfo($identifier);
        } catch (Exception $e) {
          return 'Exception when calling ContactsApi->getContactInfo: '.$e->getMessage();
        }
    }
    
    public function create_contact($data){
        $createContact = new \SendinBlue\Client\Model\CreateContact();
        $createContact['email'] = $data['email'];
        $createContact['listIds'] = [2];
        try {
          return $result = $this->apiInstance->createContact($createContact);
        } catch (Exception $e) {
          return $e->getCode();
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51012680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档