CodeIgniter 4 Libraries: Overview of Built-in Libraries📑

Reading Time: 3 minutes
2 Views

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.