Course outline for CodeIgniter

Pre-requisites for learning CodeIgniter

  • Participants must have a basic knowledge of PHP

Lab Setup

  • Hardware Configuration - Participants must have access to a system with the following hardware configuration
    • 2GB of free RAM, 20GB of free disk space and full network connectivity
  • Software Configuration
    • Ubuntu 20.04/22.04 Desktop Edition (sudo/root access required)
    • Firefox and Chrome Browsers


  • 2-5 Days

Training Mode

Online training for CodeIgniter

We provide:

  • Instructor led live training
  • Self-paced learning with access to expert coaches
  • 24x7 access to cloud labs with end to end working examples

All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.

Classroom training for CodeIgniter

Classroom sessions are conducted in client locations in:

  • Bengaluru
  • Chennai
  • Hyderabad
  • Mumbai
  • Delhi/Gurgaon/NCR

Note: Classroom training is for corporate clients only

Detailed Course Outline for CodeIgniter

Introduction to Web Application Programming (Concept)

  • Static v/s Dynamic applications
  • Client/server computing
  • TCP/IP protocol
  • Application layer protocol — HTTP
  • HTTP Request and Response
  • Asynchronous requests with XMLHttp
  • 3 tier architectures
  • Client side applications and frameworks — HTML/JS/CSS
  • Server side languages and frameworks
  • Overview of Model/View/Controller (MVC )
  • Tooling
  • Using tooling to inspect page content (HTML/JS/CSS)
  • Using tooling to inspect request and response headers
  • Using tooling to inspect traffic flow
  • Analysis of a few popular client/server applications
  • Examples of MVC frameworks

Introduction to CodeIgniter

  • Why CodeIgniter?
  • Use of MVC in CodeIgniter

Installing CodeIgniter

  • Installing CodeIgniter
  • Installing a database
  • Verifying the setup
  • Overview of development v/s production setup


  • Creating a project
  • Understanding the CodeIgniter project structure

Working with Models and Databases (Concept)

  • Datastore design considerations
  • Relational v/s NoSQL stores
  • Understanding database abstraction layers (DAL)
  • Entities, Relationships
  • Tables, Fields, Keys, Indexes
  • Object Relational Mapping (ORM) and ORM issues

CodeIgniter Model Basics

  • Creating models
  • Loading models
  • Auto-loading models
  • Object CRUD
  • Creating objects
  • Retrieving objects

Working with Controllers, Views and Templates (Concept)

  • Data formats
  • XML and JSON
  • MVC v/s MVP v/s MTV
  • Thin clients v/s Thick clients
  • Serializing and Deserializing of objects
  • Conversion between PHP objects and JavaScript objects
  • Need for templates
  • Anti-patterns in MVC design

URLs and Views

  • Writing views
  • Controllers
  • Loading multiple views
  • URI segments
  • Helpers

Error pages

  • Raising 404
  • Writing a 404 (page not found) view

CodeIgniter Libraries, Drivers & Classes

  • Using CodeIgniter libraries
  • Creating CodeIgniter libraries
  • Creating core system classes
  • Creating ancillary classes
  • Creating and using CodeIgniter drivers


  • Enabling hooks
  • Defining hooks