如何将Mailjet API PHP包装器作为库集成到我的Codeigniter安装中?
是否简单地将存储库中的内容放入其中application/libraries/Mailjet,然后创建一个用于初始化Mailjet 的Mailjet.php文件,application/libraries如下所示?
application/libraries/Mailjet
Mailjet.php
application/libraries
require 'Mailjet/vendor/autoload.php'; use \Mailjet\Resources; $mj = new \Mailjet\Client(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE'));
如果我走的路正确,请告诉我。谢谢。
是的,您步入正轨。但是您不需要创建CI库。Mailjet还要在控制器中使用存储库。只需使用CI 文档中所述的作曲器即可。
Mailjet
如果要让CodeIgniter使用Composer自动加载器,只需将$ config [‘composer_autoload’]设置为TRUE或在application / config / config.php中设置自定义路径。
在CodeIgniter中使用github存储库的分步说明
$config['composer_autoload'] = TRUE;
APPPATH.'config/config.php'
composer.json
APPPATH
composer install
vendor
示例控制器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(或任何其他)存储库,请在docs中查看如何创建自定义库并将上面的代码与其合并。就个人而言,我以这种方式使用存储库,以避免不必要地加载和解析足够的库。