Chained Jobs with CodeIgniter Queue

Job queues help handle background tasks like sending emails, generating reports, or resizing images - keeping your application fast and responsive. But what if you need tasks to run in a specific order? That’s where chained jobs shine. ...

April 17, 2025 · 2 min

Effortless multi-language content translation in your models

Are you building a multi-language application with CodeIgniter 4? Managing translations for your models can be a daunting task, but CodeIgniter Translatable makes it easy and efficient. This lightweight library integrates seamlessly with CodeIgniter 4’s model system, allowing you to handle translations directly within your models. This library simplifies the process while maintaining the flexibility you need. Key Features Simple Setup: Use generator to prepare basic structure for migrations and models. Dynamic Locale Support: Automatically load translations based on the current locale. Custom Query Support: Retrieve translations efficiently with built-in methods. Integration with CodeIgniter Entities: Works smoothly with CodeIgniter’s entity system. Configuration Getting started with CodeIgniter Translatable is easy. Here’s a quick overview of how to use it: ...

December 29, 2024 · 2 min

Eager and Lazy Loading in CodeIgniter 4

Efficiently managing database queries is crucial for application performance. To simplify it, I made a nice CodeIgniter 4 library that provides two techniques for loading related data: eager loading and lazy loading. composer require michalsn/codeigniter-nested-model These approaches allow developers to fetch related models in an efficient and intuitive way. Here’s a comprehensive guide to understanding and using these techniques. Eager Loading Eager loading fetches related data in advance, minimizing the number of database queries. To implement eager loading, you must define the relations between your models. ...

December 12, 2024 · 3 min

Alerts for htmx and CodeIgniter 4

In a traditional CodeIgniter 4 application, setting up alerts is quite simple. We can simply write a few lines of code or use a dedicated library like codeigniter4-alerts. Things get complicated, however, when we use htmx and want the alerts to interact with the way it works. Here a library dedicated to work with htmx can come to the rescue. Installation Installation via composer is very simple: composer require michalsn/codeigniter-htmx-alerts Next, we can add a container in which alerts will be displayed in our view (or main layout). ...

September 26, 2024 · 1 min

CodeIgniter Markdown Pages

Markdown Pages project allows you to map Markdown files to collections and easily list or read data from them. In addition to the Markdown parser, we also have the ability to parse YAML sections, where you can put a lot of useful information. How to start: composer michalsn/codeigniter-markdown-pages Basic usage: $markdownPages = service('markdownpages', ROOTPATH . 'pages'); // Get the first directory $dir = $markdownPages->dirs()->first(); echo $dir->getName() // prints: Quick Start echo $dir->getSlug() // prints: quick-start foreach($dir->getFiles()->items() as $file) { echo $file->getName(); // prints: Installation echo $file->getSlug(); // prints: installation echo $file->getPath(); // prints: quick-start/installation echo $content->parse()->getContent(); // prints: parsed markdown from file echo $content->parse()->getMeta(); // prints: parsed YAML as key -> value } This project use Collection class pretty much everywhere so please get familiar with it to use this package comfortably. ...

December 29, 2023 · 1 min