CodeIgniter Q & A


How to create a controller in CodeIgniter?

Creating a controller in CodeIgniter is a fundamental step in building web applications using this PHP framework. Controllers are responsible for handling user requests, executing business logic, and determining which views to load. Here’s a step-by-step guide on how to create a controller in CodeIgniter:


  1. File Creation: Start by creating a new PHP file in the `application/controllers` directory of your CodeIgniter project. The filename should match the name of the controller class you intend to create. For example, if you want to create a controller named `HomeController`, create a file called `HomeController.php`.


  1. Class Definition: Inside the newly created PHP file, define your controller class. The class name should follow the CodeIgniter naming convention, which is typically in CamelCase format with the first letter capitalized. For our example, it would be `HomeController`. Ensure your class extends the `CI_Controller` class to inherit essential CodeIgniter functionality.


  1. Controller Methods: Within your controller class, you can create methods that correspond to specific actions or URLs. For instance, you might create an `index()` method to handle the default action when a user visits a particular page. These methods are where you implement the business logic for your application.


  1. Loading Views and Models: Inside your controller methods, you can load views to render the HTML or templates to display to users. You can also load models to interact with the database and retrieve or manipulate data. Use the `$this->load->view(‘view_name’)` and `$this->load->model(‘model_name’)` functions to load views and models, respectively.


  1. URL Mapping: By default, CodeIgniter uses a segment-based approach for URL routing. This means that the controller name and method name are derived from the URL segments. For example, if you have a controller named `HomeController` and an `index()` method, the URL `` will route to that controller and method.


  1. Accessing the Controller: Your controller is now ready to handle requests. You can access it by visiting the appropriate URL in your web browser. CodeIgniter will invoke the corresponding controller method, execute the code you’ve written, and display the result to the user.

By following these steps, you can create controllers in CodeIgniter to control the flow and functionality of your web application, making it easy to organize and manage your codebase following the MVC (Model-View-Controller) architectural pattern.

Previously at
Flag Argentina
time icon
Experienced Full Stack Systems Analyst, Proficient in CodeIgniter with extensive 5+ years experience. Strong in SQL, Git, Agile.