Как я могу интегрировать Mailjet API PHP-оболочка в мою установку Codeigniter как библиотеку?
Это так же просто, как размещение содержимого хранилище в 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 документы.
Если вы хотите, чтобы CodeIgniter использовал автозагрузчик Composer, просто установите для $ config [‘composer_autoload’] значение TRUE или пользовательский путь в application / config / config.php.
Пошаговая инструкция по использованию репозитория github в CodeIgniter
$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());
}
}
Если вы явно хотите использовать репозиторий Mailjet (или любой другой) через библиотеку CI, установите документы как создать пользовательскую библиотеку и объединить этот код выше с ней. Лично я использую репозитории таким образом, чтобы избежать ненужной загрузки и анализа достаточных библиотек.
Других решений пока нет …