集成Mailjet API v3包装作为Codeigniter库

如何将Mailjet API PHP包装器作为库集成到Codeigniter安装中?

这是否简单到将资源库的内容放入application/libraries/Mailjet ,然后在如下所示初始化Mailjet的application/libraries创buildMailjet.php文件?

 require 'Mailjet/vendor/autoload.php'; use \Mailjet\Resources; $mj = new \Mailjet\Client(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE')); 

请让我知道,如果我在正确的轨道上。 谢谢。

是的,你在正确的轨道上。 但是你不需要创buildCI库。 也可以在控制器中使用Mailjet存储库。 按照CI 文档中的说明使用composer php。

如果你希望CodeIgniter使用Composer自动加载器,只需将$ config ['composer_autoload']设置为TRUE或者在application / config / config.php中设置一个自定义path即可。

在CodeIgniter中使用github仓库的一步一步的指导

  1. 设置$config['composer_autoload'] = TRUE;APPPATH.'config/config.php' 文件中
  2. composer.json文件放入APPPATH位置的想要的存储库/项目中
  3. 使用composer install命令通过控制台将做vendor和其他相关的文件和文件夹内的工作
  4. 在控制器或其他代码中需要时使用它,如下面的示例所示

示例控制器Mailman.php

 <?php defined('BASEPATH') OR exit('No direct script access allowed'); use \Mailjet\Resources; class Mailman extends CI_Controller { private $apikey = 'apy__key__here'; private $secretkey = 'apy__secret__here'; protected $mj = NULL; public function __construct() { // $this->mj variable is becoming available to controller's methods $this->mj = new \Mailjet\Client($this->apikey, $this->apisecret); } public function index() { $response = $this->mj->get(Resources::$Contact); /* * Read the response */ if ($response->success()) var_dump($response->getData()); else var_dump($response->getStatus()); } } 

如果您明确想通过CI库使用Mailjet(或任何其他)存储库,请查看文档中如何创build自定义库并将其与上面的代码合并。 Personaly我这样使用存储库,以避免不必要的加载和parsing足够的库。