php - Integrando la envoltura Mailjet API v3 como biblioteca Codeigniter
(1)
¿Cómo puedo integrar el contenedor PHP de la API Mailjet en mi instalación de Codeigniter como una biblioteca?
¿Es tan simple como colocar el contenido del
repositorio
en la
application/libraries/Mailjet
y luego crear un archivo
Mailjet.php
en la
application/libraries
que inicializa Mailjet como se muestra a continuación?
require ''Mailjet/vendor/autoload.php'';
use /Mailjet/Resources;
$mj = new /Mailjet/Client(getenv(''MJ_APIKEY_PUBLIC''), getenv(''MJ_APIKEY_PRIVATE''));
Avísame si estoy en el camino correcto. Gracias.
Sí, estás en el camino correcto.
Pero no necesita crear una biblioteca de CI.
Utilice la biblioteca de repositorio de
Mailjet
en el controlador también.
Solo use el compositor como se indica en los
docs
CI.
Si desea que CodeIgniter use un cargador automático Composer, simplemente configure $ config [''composer_autoload''] en TRUE o una ruta personalizada en application / config / config.php.
Instrucciones paso a paso para usar el repositorio github en CodeIgniter
-
Establecer
$config[''composer_autoload''] = TRUE;
enAPPPATH.''config/config.php''
file -
Ponga el archivo
composer.json
con los repositorios / proyectosAPPPATH
en la ubicaciónAPPPATH
-
Haga el trabajo con el comando de
composer install
través de la consola, lo que hará que elvendor
y otros archivos y carpetas relacionados estén dentro - Úselo cuando sea necesario en el controlador o en otro código como se muestra en el siguiente ejemplo
controlador de ejemplo 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());
}
}
Si desea utilizar explícitamente el repositorio de Mailjet (o cualquier otro) a través de la biblioteca de CI, consulte en los docs cómo crear una biblioteca personalizada y combine este código anterior con ella. Personalmente, uso los repositorios de esta manera para evitar cargar y analizar innecesariamente suficientes bibliotecas.