是的,你在正确的轨道上。但是您不需要创建 CI 库。在控制器中使用Mailjet
存储库库。只需使用 CI docs中所述的作曲家。
如果您希望 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(或任何其他)存储库,请查看文档如何创建自定义库并将上面的代码与其合并。就我个人而言,我以这种方式使用存储库来避免不必要地加载和解析足够的库。