php codeigniter mailjet

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

  1. Establecer $config[''composer_autoload''] = TRUE; en APPPATH.''config/config.php'' file
  2. Ponga el archivo composer.json con los repositorios / proyectos APPPATH en la ubicación APPPATH
  3. Haga el trabajo con el comando de composer install través de la consola, lo que hará que el vendor y otros archivos y carpetas relacionados estén dentro
  4. Ú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.