Libraries in CodeIgniter 4 are reusable classes designed to handle essential tasks like sending emails, managing sessions, processing file uploads, validating data, and interacting with databases. They simplify coding by providing a set of prebuilt, ready-to-use service classes.
In this guide, we’ll explore the most commonly used built-in libraries in CodeIgniter 4, how to load them, and practical examples to implement them.
Let’s get started.
Read More: CodeIgniter 4 Multi-File Upload with Validation📤Tutorial
⚪ What Are Libraries in CodeIgniter 4?
Libraries are PHP classes located in the system core and loaded on-demand through CodeIgniter’s Services class. You can also create custom libraries for application-specific tasks.
Basic Usage Example:
$email = \Config\Services::email();
⚪ Common Built-in Libraries and Examples
📍 📬 Email Library
Used to send emails using SMTP, Sendmail, or Mail protocols.
Load
$email = \Config\Services::email();
Send Email Example:
$email->setFrom('admin@example.com', 'Admin');
$email->setTo('user@example.com');
$email->setSubject('Welcome');
$email->setMessage('Thank you for registering.');
$email->send();
📍 🗃️ Session Library
Manages user sessions securely.
Load
$session = \Config\Services::session();
Example:
$session->set('username', 'Sanjay');
echo $session->get('username');
📍 📄 File Upload Library
Handles file uploads efficiently.
Example
$file = $this->request->getFile('userfile');
if ($file->isValid() && !$file->hasMoved()) {
$file->move(WRITEPATH.'uploads');
}
📍 📃 Validation Library
Validates form data against defined rules.
Load
$validation = \Config\Services::validation();
Example:
$rules = [
'email' => 'required|valid_email'
];
if (! $this->validate($rules)) {
print_r($this->validator->getErrors());
}
📍 🗄️ Database Library
Performs database queries and operations.
Load
$db = \Config\Database::connect();
Example
$query = $db->query("SELECT * FROM users");
$result = $query->getResult();
Read More: CodeIgniter 4 Caching Techniques (Boost Speed Instantly!) 🚀
📍 🌐 CURLRequest Library
Handles external HTTP requests.
Load
$client = \Config\Services::curlrequest();
Example
$response = $client->get('https://api.example.com/data');
echo $response->getBody();
⚪ Conclusion
CodeIgniter 4 comes with a solid set of built-in libraries covering almost every essential web development requirement.
These libraries help reduce repetitive code, simplify complex tasks, and keep your application organized. With the flexibility to extend or create custom libraries, CodeIgniter 4 ensures you can efficiently manage any additional functionality your application needs.