如何将Mailjet API PHP wrapper作为库集成到我的Codeigniter安装中?
将the repository的内容放入application/libraries/Mailjet
,然后在Mailjet.php
中创建一个application/libraries
文件来初始化Mailjet,就像下面显示的那样简单吗?
require 'Mailjet/vendor/autoload.php';
use \Mailjet\Resources;
$mj = new \Mailjet\Client(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE'));
如果我走在正确的轨道上,请告诉我。感谢。
答案 0 :(得分:3)
是的,你走在正确的轨道上。但您不需要创建CI库。在控制器中也使用Mailjet
存储库。只需使用CI docs中所述的作曲家。
如果您希望CodeIgniter使用Composer自动加载器,只需将$ config ['composer_autoload']设置为TRUE或将application / config / config.php中的自定义路径设置为。
在CodeIgniter中使用github存储库的逐步说明
$config['composer_autoload'] = TRUE;
file 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如何创建自定义库并将上面的代码与其合并。 Personaly我以这种方式使用存储库以避免不必要地加载和解析足够的库。