我怎样才能整合Mailjet API PHP 包装器 https://github.com/mailjet/mailjet-apiv3-php-no-composer作为库安装到我的 Codeigniter 安装中?
是不是把内容放进去那么简单存储库 https://github.com/mailjet/mailjet-apiv3-php-no-composer into 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'));
请让我知道我是否走在正确的轨道上。谢谢。
是的,你走在正确的道路上。但你不需要创建 CI 库。使用Mailjet
控制器中的存储库也是如此。只需按照 CI 中所述使用 Composerdocs https://www.codeigniter.com/userguide3/general/autoloader.html.
如果您希望 CodeIgniter 使用 Composer 自动加载器,只需将 $config['composer_autoload'] 设置为 TRUE 或 application/config/config.php 中的自定义路径。
在 CodeIgniter 中使用 github 存储库的分步说明
- Set
$config['composer_autoload'] = TRUE;
in APPPATH.'config/config.php'
file https://github.com/bcit-ci/CodeIgniter/blob/develop/application/config/config.php#L123
- Put
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 https://www.codeigniter.com/userguide3/general/creating_libraries.html如何创建自定义库并将上面的代码与其合并。就我个人而言,我以这种方式使用存储库以避免不必要地加载和解析足够的库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)