PHP CodeIgniter - Learn CodeIgniter
4.5 (144 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,358 students enrolled
Wishlisted Wishlist

Please confirm that you want to add PHP CodeIgniter - Learn CodeIgniter to your Wishlist.

Add to Wishlist

PHP CodeIgniter - Learn CodeIgniter

Learn CodeIgniter by building an Application! Built with AJAX/jQuery calls, and styled with twitter bootstrap!
Best Seller
4.5 (144 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,358 students enrolled
Created by Jesse Boyer
Last updated 2/2016
Current price: $10 Original price: $200 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 7 hours on-demand video
  • 1 Article
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand MVC
  • Know CodeIgniters Process
  • Setup an entire Application
  • JavaScript Structure
  • Twitter Bootstrap
  • jQuery AJAX
  • Build with CodeIgniter the worlds most popular PHP Framework
View Curriculum
  • PHP Knowledge
  • PHP 5.3+ (5.4 Preferred)
  • MySQL
  • Apache (enabled mod_rewrite)
  • Or one of these setup: WAMP / XXAMP / MAMP / or LAMP

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.

Who is the target audience?
  • People that want to Build as they Learn
  • Desire to Build Robust and Re-Usable Application Code
Compare to Other CodeIgniter Courses
Curriculum For This Course
45 Lectures
Setting Up
4 Lectures 15:59
Learn how the MVC pattern works within a few minutes with a diagram and code samples.
Preview 05:36

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.
Preview 03:28

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.
Preview 02:55

We will use mod_rewrite so we have nice URLs.
Preview 04:00

MVC Quiz
6 questions
Project: Creating The First Sections
5 Lectures 26:30
Here we download the necessary files and organize our content. We then setup some default include files to use later.
Preview 07:21

We will now create our first controller!
Home Controller

We will create our first view and we begin with the Home view which is attached to the controller.
Home View

Next we prepare our dashboard controller, similar to the Home controller but with an extra method.
Dashboard Controller

We'll differentiate the Dashboard page with some bootstrap elements and prepare a wireframe for content further along the road.
Dashboard View

Let's make sure you are on course!

Chapter 2 Quiz
5 questions
Project: Creating our first Model
4 Lectures 40:49
We'll create the Schema in Heidi SQL. If you are on a Mac you can use SequelPro or a similar alternative.
Creating a Database with Heidi SQL (Optional)

Walk through setting up the database configuration, using Active Record to make queries while referencing the Docs.
Preview 12:28

We'll go through the stages of creating a User model that we'll use later.
Create a User Model

This is a helpful little tool you will want to know about in the future!
Using the Profiler to Debug
Project: Logging a User In
3 Lectures 31:53
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. 
Session Class

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.
Post Class & jQuery AJAX

Know the difference between Encryption and Hashing. We'll use what we've learned for securing our user passwords. 
Preview 06:53

A simple quiz

Chapter Quiz
5 questions
Project: Registering Users
3 Lectures 31:29
Create the view and controller logic for registering a user! We almost finish it in one swoop, but we will in the Extending video!
Setup Registration Area

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.
Using & Extending the Form Validator

Security is important, here are some things to remember.
Security Notes
Project: Refactoring to an API and Getting JavaScript Buck-Wild
3 Lectures 32:43

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.

Create an API Controller & Prepare For New Methods!

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.
Preview 11:54

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.

Create the JavaScript Dashboard File
Advancing our Javascript Structure
5 Lectures 01:09:03
We build the API controller to make an AJAX call to create a record.
Preview 08:42

We give our JavaScript Result class more usability.
Improving our JS Result

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.
Loading From Database

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

JavaScript Delete Ability & Debugging

We implement edit on existing notes and cancelling them.

JavaScript Update Note Completion and Undo
Creating a Reusable CRUD model
4 Lectures 44:36
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.
Preview 15:27

Add the INSERT ability to the CRUD model in a very simple manner.
Adding INSERT and DELETE Ability

The CRUD model needs an UPDATE ability, this is the hardest part.
Adding UPDATE Ability

We'll clean up our Code and you can download the final results.
Refactoring our API Code with the CRUD Model
Creating Notes
7 Lectures 01:11:59
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.
PHP and JS to List and Create!

We want a form to edit existing notes, so we modify quite a bit of JavaScript to and build a template for this.
Preparing the Note Update: PHP and JS Templating/Event

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.
Saving the Note Updates: PT 1

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.
Saving the Note Updates: PT 2

We'll easily add the ability to DELETE notes via ajax.
Deleting Notes

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.
Making the Create Forms Display Dynamically

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.
Code Cleanup & Current Project Files
Appearance: Twitter Bootstrap
6 Lectures 59:21
Learn what Scaffolding is, it's quite simple. We'll decorate our forms to look a lot nicer.
Bootstrapping the Login/Register Forms

This entire time the TODO has look ugly, so we'll be using some custom CSS to make it look nice.
Bootstrapping the Todo: PT 1

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.

Bootstrapping the Todo: PT 2 (Revised)

We style the Notes area and start to polish off the project. 
Bootstrapping the Notes

What's software without bugs? They are bound to happen. I address a few display issues and we'll fix them up!
Fixing Display Bugs

Closing remarks regarding this project and a few tidbits that may be handy!
Closing Remarks
1 More Section
About the Instructor
Jesse Boyer
4.3 Average rating
361 Reviews
13,494 Students
3 Courses

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!