集成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仓库的一步一步的指导
- 设置
$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(或任何其他)存储库,请查看文档中如何创build自定义库并将其与上面的代码合并。 Personaly我这样使用存储库,以避免不必要的加载和parsing足够的库。