PHP CodeIgniter - Learn CodeIgniter

Learn CodeIgniter by building an Application! Built with AJAX/jQuery calls, and styled with twitter bootstrap!
4.2 (94 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
2,088 students enrolled
57% off
Take This Course
  • Lectures 45
  • Length 7 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 7/2013 English

Course Description

Learn Codeigniter - the most popular PHP Framework! In this course you will build a complete application in the CodeIgniter Framework from the ground up. You'll learn how the MVC pattern works as I take you step-by-step through everything needed get fluent in CodeIgniter.

Some features in our application will be a personalized dashboard for any user who registers and logs in. We'll have AJAX publishing for all of our Todo Lists and Note's.

We will be diving deep into JavaScript using jQuery to organize a custom Template and Event structure. Lastly, we'll polish off the dashboard with Twitter Bootstrap.

You'll understand how to expand upon these features when we are complete.

This course will take you to an Intermediate PHP programmer with some intermediary skills in JavaScript.

What are the requirements?

  • PHP Knowledge
  • PHP 5.3+ (5.4 Preferred)
  • MySQL
  • Apache (enabled mod_rewrite)
  • Or one of these setup: WAMP / XXAMP / MAMP / or LAMP

What am I going to get from this course?

  • Understand MVC
  • Know CodeIgniters Process
  • Setup an entire Application
  • JavaScript Structure
  • Twitter Bootstrap
  • jQuery AJAX
  • Build with CodeIgniter the worlds most popular PHP Framework

Who is the target audience?

  • People that want to Build as they Learn
  • Desire to Build Robust and Re-Usable Application Code

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Setting Up
Learn how the MVC pattern works within a few minutes with a diagram and code samples.
We will install Code Igniter, it's literally drag and drop into your PHP Directory. Note: This series assumes you know how to run PHP files in the directory you are using.
A brief run-through of my favorite IDE Netbeans, its up to you if you want to use this IDE. Otherwise use your favorite one.
We will use mod_rewrite so we have nice URLs.
MVC Quiz
6 questions
Section 2: Project: Creating The First Sections
Here we download the necessary files and organize our content. We then setup some default include files to use later.
We will now create our first controller!
We will create our first view and we begin with the Home view which is attached to the controller.
Next we prepare our dashboard controller, similar to the Home controller but with an extra method.
We'll differentiate the Dashboard page with some bootstrap elements and prepare a wireframe for content further along the road.
5 questions
Let's make sure you are on course!

Section 3: Project: Creating our first Model
We'll create the Schema in Heidi SQL. If you are on a Mac you can use SequelPro or a similar alternative.
Walk through setting up the database configuration, using Active Record to make queries while referencing the Docs.
We'll go through the stages of creating a User model that we'll use later.
This is a helpful little tool you will want to know about in the future!
Section 4: Project: Logging a User In
Learn the difference between PHP $_SESSION and Code Igniters Sessions. This is optional, but I suggest using it unless you must pass large amounts of data through a session. 
We are going to make the login work with a series of things: The Input Class (Optional), The Session Class, Adjusting the User Model, and adding a fake database user.
Know the difference between Encryption and Hashing. We'll use what we've learned for securing our user passwords. 
5 questions
A simple quiz

Section 5: Project: Registering Users
Create the view and controller logic for registering a user! We almost finish it in one swoop, but we will in the Extending video!
You'll learn how to extend a CI Core Library and make use of it instantly! We'll be using it for getting an array of errors to use with our JSON output.
Security is important, here are some things to remember.
Section 6: Project: Refactoring to an API and Getting JavaScript Buck-Wild

Here we build an API controller with reasons related to an AJAX application. We then do a little code refactoring and lines of demarcation! Please also download the dashboard_view.php below.

We create a solid JavaScript hierarchy for our Dashboard. We do separated code logic in JavaScript so it would be easy to add future components if you wish.

We make our database list out our todo items. We also make sure creating a todo immediately adds it to the DOM, so there is a little refactoring happening as well.

Section 7: Advancing our Javascript Structure
We build the API controller to make an AJAX call to create a record.
We give our JavaScript Result class more usability.
We make our database list out our todo items. We also make sure creating a todo immediately adds it to the DOM, so there is a little refactoring happening as well.

We add the delete ability whilst debugging some of our code.


We implement edit on existing notes and cancelling them.

Section 8: Creating a Reusable CRUD model
We are going to Abstract the Active-Record and build out a re-usable CRUD model and begin with the GET ability. This will make queries and models a lot more convenient.
Add the INSERT ability to the CRUD model in a very simple manner.
The CRUD model needs an UPDATE ability, this is the hardest part.
We'll clean up our Code and you can download the final results.
Section 9: Creating Notes
Following our pattern with the TODO items, we'll now do it with NOTE's. We'll use the same API controller and set everything up to list our notes out.
We want a form to edit existing notes, so we modify quite a bit of JavaScript to and build a template for this.
This is a very difficult portion of the JavaScript. It's split into two parts. If you have a lot of trouble following along, you can download the Additional Content right after "Note Updates PT 2" which contains the whole project file if you'd like to check your code.
Here we wrap up the saving of notes. The two update parts were difficult so I've included a ZIP file if you cannot get yours working.
We'll easily add the ability to DELETE notes via ajax.
When we insert our records we never want to refresh the page, so we add this in. We also toss in an AJAX loader so it looks busy.
Here we clean up some of our DOM code and tidy it all up. You can download the entire project progress in the following ZIP file.
Section 10: Appearance: Twitter Bootstrap
Learn what Scaffolding is, it's quite simple. We'll decorate our forms to look a lot nicer.
This entire time the TODO has look ugly, so we'll be using some custom CSS to make it look nice.

We are now ready to finish off the TODO styling so people might actually use it! (Revised): I had to manually add the audio at 10 minutes as my mic gave out.

We style the Notes area and start to polish off the project. 
What's software without bugs? They are bound to happen. I address a few display issues and we'll fix them up!
Closing remarks regarding this project and a few tidbits that may be handy!
Section 11: Misc
3 pages

This is a very basic run through of how to take advantage of i18n.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

My name is Jesse.

I was born in Michigan, but I've been living in Central Florida the past 10 years.

I've been programming since I was 12. Beginning with QBasic in school, IRC Scripting at home, and HTML in Netscape Navigator on weekends. In those days I had to "View Source" to figure out how to do anything! I wrote my first website at this age using the GeoCities free websites. I then moved to AngelFire for a while. Remember those days?

When I hit 20, I spent several years freelancing with the skills I picked up from terribly long nights of studying. Freelancing was difficult for me because being a salesman wasn't in my blood, but I enjoyed the coding parts! I primarily used Linux, PHP, MySQL, and CSS. Then jQuery a bit later.

These days I live in the corporate world. I work with a small team of people and I enjoy it. I'm doing all sort of things from building solid back-ends, REST API's, HTML5/JS games, Python Django, and sometimes a bit of monkey work.

I enjoy explaining programming not because I like to talk, but because I find it rewarding to help people along their way. In fact, I found it so rewarding that I created a Youtube channel with hundreds of videos covering programming topics.

I hope you can benefit from my years of learning, I try to present it in a simple way so you don't need wrestle with all the questions I had!

Ready to start learning?
Take This Course