Any kind of framework is a collection of reusable code which is divided into classes, so if we talk about OOPS or MVC, we do all our task in classes like for email sending, form validation or pagination kind of work. Collection of these classes are called a library in Codeignitor. There are so many libraries in Codeignitor which can find in it's documentation
Codeignitor Libraries and that can be used depends on requirement. So if we need to send an email we don't need to create the whole function from scratch, we can use its email library for the implementation and same for the other task. Now let's see how to use a library in CI.
Load the library to use it. Create a controller
users.php and then use below code to send an email.
Controller: users.php
php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Users extends CI_Controller {
public function index() {
// Load email library
$this->load->library('email');
// Use the inbuilt methods to send an email
$this->email->from('[email protected]', 'your name');
$this->email->to('[email protected]');
$this->email->subject('Test');
$this->email->message('Welcome to GeeksforGeeks');
$this->email->send();
}
}
?>
If we need to load multiple libraries, we can create an array and then define all the libraries name in that array.
$this->load->library(array('form_validation', 'email'));
Custom Libraries: We saw that CI has already a lot of inbuilt libraries. If we need some functionality which is not available in the CI library then we can create our own custom library. Let's see how to create a custom library in CI.
Inbuilt libraries are available in the system folder but custom libraries need to be created in application/libraries folder. We need to keep in mind that file name should be same of the class name, also the first letter of a file name and class name should be in uppercase. Create a file
Test.php in application/library folder. Below is the example of creating functionality in our custom library.
Custom Library: Test.php
php
<?php
class Test {
public function abc() {
echo "Welcome to GeeksforGeeks";
}
}
?>
Custom libraries can be used just like inbuilt libraries in the controller. So in our users.php controller use the code below to check this.
Controller: users.php
php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Users extends CI_Controller {
public function index() {
// Load the custom library
$this->load->library('test');
// Use the function of custom library
$this->test->abc();
}
}
?>
Output:
Welcome to GeeksforGeeks
Extending Libraries: In this section we will see how to extend the inbuilt libraries of CI. It is also created in the same folder application/libraries just like we were doing for custom libraries. Now we need to keep in mind that we need to add
MY_ prefix when we give the name for our library file, also use
extends keyword to inherit all the properties of Email library. So, create a file
MY_Email.php in application/libraries folder and use the code below.
Extended Library: MY_Email.php
php
<?php
class MY_Email extends CI_Email {
// Add a function in Email library
public function test() {
echo "This is test function for extended Email library";
}
}
?>
Once the Email library is extended, we can use it's additional function 'test' in our controller. So in controller users.php use the code below to call 'test' function from Email library.
Controller: users.php
php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Users extends CI_Controller {
public function index() {
// Load the library
$this->load->library('email');
// Call the function
$this->email->test();
}
}
?>
Output:
This is test function for extended Email library
Till now, extending our libraries and adding our own functionality, now if we want to completely override inbuilt libraries function and don't want to use any function from the inbuilt library then we can also do that. All we just need to do is to create a file in application/library with file name Email.php (or whatever library needs to override) and then write your own function. Here we don't need to use extends keyword. Below is the code...
Overridden library Name: Email.php
php
<?php
class CI_Email {
public function test() {
echo "This is test function for overridden Email library";
}
}
?>
Loading this library and calling the function will be the same as earlier we were doing in controller users.php.
Output:
This is test function for overridden Email library
get_instance(): Codeignitor make a super object and then sub-objects are created. We use
$this keyword to access the object. We can not use
$this keyword apart from controllers, models and view. So if we need to load another inbuilt helper or library in our custom library,
$this won't work because these custom libraries are out of the scope of superobject. To solve this issue we need to use get_instance() method in our custom library. Firstly we need to get the instance of superobject in a variable. Below is the line for our custom library to get the original codeignitor object reference.
$CI =& get_instance();
We need to notice that we are getting the reference or address of original codeignitor object using '&' instead of creating a copy. After that, we can load any helper or library or model. Below is the complete code for custom library
Test.php
Custom Library: Test.php
php
<?php
class Test {
public function abc() {
// Assign the CodeIgniter object to a variable
$CI =& get_instance();
$CI->load->helper('array');
}
}
?>
Similar Reads
PHP Tutorial PHP is a popular, open-source scripting language mainly used in web development. It runs on the server side and generates dynamic content that is displayed on a web application. PHP is easy to embed in HTML, and it allows developers to create interactive web pages and handle tasks like database mana
9 min read
Basics
PHP SyntaxPHP, a powerful server-side scripting language used in web development. Itâs simplicity and ease of use makes it an ideal choice for beginners and experienced developers. This article provides an overview of PHP syntax. PHP scripts can be written anywhere in the document within PHP tags along with n
4 min read
PHP VariablesA variable in PHP is a container used to store data such as numbers, strings, arrays, or objects. The value stored in a variable can be changed or updated during the execution of the script.All variable names start with a dollar sign ($).Variables can store different data types, like integers, strin
5 min read
PHP | FunctionsA function in PHP is a self-contained block of code that performs a specific task. It can accept inputs (parameters), execute a set of statements, and optionally return a value. PHP functions allow code reusability by encapsulating a block of code to perform specific tasks.Functions can accept param
8 min read
PHP LoopsIn PHP, Loops are used to repeat a block of code multiple times based on a given condition. PHP provides several types of loops to handle different scenarios, including while loops, for loops, do...while loops, and foreach loops. In this article, we will discuss the different types of loops in PHP,
4 min read
Array
PHP ArraysArrays are one of the most important data structures in PHP. They allow you to store multiple values in a single variable. PHP arrays can hold values of different types, such as strings, numbers, or even other arrays. Understanding how to use arrays in PHP is important for working with data efficien
5 min read
PHP Associative ArraysAn associative array in PHP is a special array where each item has a name or label instead of just a number. Usually, arrays use numbers to find things. For example, the first item is at position 0, the second is 1, and so on. But in an associative array, we use words or names to find things. These
4 min read
Multidimensional arrays in PHPMulti-dimensional arrays in PHP are arrays that store other arrays as their elements. Each dimension adds complexity, requiring multiple indices to access elements. Common forms include two-dimensional arrays (like tables) and three-dimensional arrays, useful for organizing complex, structured data.
5 min read
Sorting Arrays in PHPSorting arrays is one of the most common operation in programming, and PHP provides a several functions to handle array sorting. Sorting arrays in PHP can be done by values or keys, in ascending or descending order. PHP also allows you to create custom sorting functions.Table of ContentSort Array in
4 min read
OOPs & Interfaces
MySQL Database
PHP | MySQL Database IntroductionWhat is MySQL? MySQL is an open-source relational database management system (RDBMS). It is the most popular database system used with PHP. MySQL is developed, distributed, and supported by Oracle Corporation. The data in a MySQL database are stored in tables which consists of columns and rows.MySQL
4 min read
PHP Database connectionThe collection of related data is called a database. XAMPP stands for cross-platform, Apache, MySQL, PHP, and Perl. It is among the simple light-weight local servers for website development. Requirements: XAMPP web server procedure: Start XAMPP server by starting Apache and MySQL. Write PHP script f
2 min read
PHP | MySQL ( Creating Database )What is a database? Database is a collection of inter-related data which helps in efficient retrieval, insertion and deletion of data from database and organizes the data in the form of tables, views, schemas, reports etc. For Example, university database organizes the data about students, faculty,
3 min read
PHP | MySQL ( Creating Table )What is a table? In relational databases, and flat file databases, a table is a set of data elements using a model of vertical columns and horizontal rows, the cell being the unit where a row and column intersect. A table has a specified number of columns, but can have any number of rows. Creating a
3 min read
PHP Advance
PHP SuperglobalsPHP superglobals are predefined variables that are globally available in all scopes. They are used to handle different types of data, such as input data, server data, session data, and more. These superglobal arrays allow developers to easily work with these global data structures without the need t
6 min read
PHP | Regular ExpressionsRegular expressions commonly known as a regex (regexes) are a sequence of characters describing a special search pattern in the form of text string. They are basically used in programming world algorithms for matching some loosely defined patterns to achieve some relevant tasks. Some times regexes a
12 min read
PHP Form HandlingForm handling is the process of collecting and processing information that users submit through HTML forms. In PHP, we use special tools called $_POST and $_GET to gather the data from the form. Which tool to use depends on how the form sends the dataâeither through the POST method (more secure, hid
4 min read
PHP File HandlingIn PHP, File handling is the process of interacting with files on the server, such as reading files, writing to a file, creating new files, or deleting existing ones. File handling is essential for applications that require the storage and retrieval of data, such as logging systems, user-generated c
4 min read
PHP | Uploading FileHave you ever wondered how websites build their system of file uploading in PHP? Here we will come to know about the file uploading process. A question which you can come up with - 'Are we able to upload any kind of file with this system?'. The answer is yes, we can upload files with different types
3 min read
PHP CookiesA cookie is a small text file that is stored in the user's browser. Cookies are used to store information that can be retrieved later, making them ideal for scenarios where you need to remember user preferences, such as:User login status (keeping users logged in between sessions)Language preferences
9 min read
PHP | SessionsA session in PHP is a mechanism that allows data to be stored and accessed across multiple pages on a website. When a user visits a website, PHP creates a unique session ID for that user. This session ID is then stored as a cookie in the user's browser (by default) or passed via the URL. The session
7 min read