The library is a class with functions or methods that allows creating an instance of that class. For your extensions you can add a library under the libraries folder, the naming convention should be like GreetingEmail.php. here is an example of a library.
<?php if ( !defined('BASEPATH')) exit('No direct script access allowed');classGreetingEmail {publicfunction__construct() {$this->ci =&get_instance();$this->ci->load->library('Email');$this->module_name ='minical-extension-boilerplate'; } functionsend_greeting_email() { $company_id =$this->ci->session->userdata('current_company_id'); $company =$this->ci->Company_model->get_company($company_id); $content ='Dear [first name] I hope this email finds you well'; $content1 ="<br/><br/>".'Thank you for your business'.",<br/><br/>".$company['name']." <br/>".$company['email']."<br/>".$company['phone']."<br/>"; $config['mailtype'] ='html';$this->ci->email->initialize($config); $email_data =array ('company_name'=> $company['name'],'company_email'=> $company['email'],'content'=> $content,'content1'=> $content1 ); $customer_email = $company['email']; $from_email ='donotreply@minical.io'; $email_from = $company['email'];$this->ci->email->from($email_from, $company['name']);$this->ci->email->to($customer_email);$this->ci->email->reply_to($email_data['company_email']);$this->ci->email->subject('Hello From miniCal');$this->ci->email->message($this->ci->load->view('../extensions/'.$this->module_name.'/views/gretting-mail-html', $email_data,true));$this->ci->email->send(); $msg =l('minical-extension-boilerplate/Email successfully sent to ',true);return $msg.$customer_email; }}?>
Loading of library
You can load the library into controller, hooks, helper, or model, for loading your custom extension's library use the given syntax.
$this->module_name will have the extension name as value, or you can use the hardcode extension name at its place.
//In controller $this->load->library('../extensions/'.$this->module_name.'/libraries/GreetingEmail');$this->load->library('../extensions/minical-extension-boilerplate/libraries/GreetingEmail');//In hooks and filter$CI =&get_instance();$CI->load->library('../extensions/minical-extension-boilerplate/libraries/GreetingEmail');