CodeIgniter Q & A


How to load a view in a CodeIgniter controller?

In CodeIgniter, loading a view within a controller is a straightforward process and is essential for rendering the user interface of your web application. Here are the steps to load a view in a CodeIgniter controller:

  1. Controller Method: First, ensure that you have a controller method set up to handle the specific user request or page you want to display. In your controller class, create a method that corresponds to the desired URL or action. For example, if you have a controller called `HomeController`, you can create a method named `index()` to handle the homepage.


  1. Loading the View: Inside your controller method, you can load the view using the `$this->load->view(‘view_name’, $data)` method, where:

   – `’view_name’` is the name of the view file you want to load, excluding the ‘.php’ extension. For instance, if your view file is named `home.php`, you would use `’home’` as the view name.

   – `$data` is an optional array that allows you to pass data from the controller to the view. This data can be variables, arrays, or objects that the view can use to display dynamic content.


  1. Displaying Data: Within your view file, you can access the data passed from the controller using the variable names specified in the `$data` array. For example, if you passed an array with the key `’products’`, you can access it as `$products` in your view’s embedded PHP code.


  1. HTML Generation: Your view file should contain the HTML markup and embedded PHP code needed to render the user interface. Use standard HTML tags, CSS for styling, and PHP tags to create dynamic content.


  1. Multiple Views: You can load multiple views within a single controller method by calling `$this->load->view()` multiple times with different view names. This allows you to assemble complex pages from reusable components.


  1. View Inheritance: CodeIgniter also supports view inheritance, where you can create a base template view with common elements (e.g., header and footer) and extend it in child views for specific pages. This promotes code reusability and maintains a consistent layout.

By following these steps, you can easily load views within a CodeIgniter controller, allowing you to separate the presentation layer (views) from the application logic (controllers and models) and create dynamic and interactive web pages.

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