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');

class GreetingEmail {

    public function __construct()
        $this->ci =& get_instance();

        $this->module_name = 'minical-extension-boilerplate';


    function send_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/>"
                <br/>".$company['email']. "<br/>".$company['phone']."<br/>";

        $config['mailtype'] = 'html';


        $email_data = array (
            'company_name' => $company['name'],
            'company_email' => $company['email'],
            'content' => $content,
            'content1' => $content1

        $customer_email = $company['email'];

        $from_email = '';

        $email_from = $company['email'];

        $this->ci->email->from($email_from, $company['name']);

        $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));

        $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 

//In hooks and filter
$CI = &get_instance();

Last updated