
Find out how to get the most out of the course, and where to find help and resources.
Find out how to install a web server package, including PHP, a database server like MySQL or MariaDB, and phpMyAdmin, for Windows, macOS or Linux.
Use phpMyAdmin to create an empty database on the local database server, ready for development
How to install the PHP package manager, Composer
Install the CodeIgniter framework to your computer, using the PHP dependency manager, Composer.
Configure the framework for development using a .env file
Configure the local web server with a virtual host, to access the framework from its own address
Configure the framework with its development URL so that it works properly, for example so that the debug bar is displayed.
If you see an older version of the framework shown in one of the videos, it's because the functionality between that version and the latest hasn't changed, so the video hasn't been updated.
How to upgrade the framework when it's updated.
View common installation and configuration issues with their solutions
Learn how an MVC framework like CodeIgniter is different to "plain" PHP, and how controllers work to send content to the browser.
Learn how view files are used within the framework to contain the presentation code, and how to display them from a controller.
Add another controller to display a list of articles.
How to deal with changes to the routing configuration file from version 4.4.0 onwards.
Learn how the framework executes action methods in controllers using the router.
Learn a technique for showing multiple views by calling the view method multiple times from the controller.
Learn another technique for showing multiple views by including one view partial inside another.
Learn how to pass data to a view from a controller's action method.
Extract common view code out into a view layout file, reducing code repetition.
Inherit the content from the view layout by extending it.
Inherit the content from the view layout by extending it in the articles index view too.
Pass article data from a controller to a view to display more than static data in the view.
Add the necessary configuration settings to the framework to connect to the database.
A simple way to check if the database connection credentials are correct before continuing.
Learn how database migrations are used to edit the database structure from code, and write the code to create a table in the database to store articles.
Run the migration to create the table in the database, and how to reverse it by rolling it back.
How model classes are configured and used to interact with the database and retrieve data.
How to enable the debugging bar and how to use the dd function to aid development.
Add a method containing an ID and retrieve this value from the URL via a route.
Retrieve an individual record from the database automatically using the model.
Use the site_url function to create portable URLs for links between pages.
Add a page that will contain a form for getting the data for a new record.
Use the form helper to create a form and include HTML input elements to get data from the user.
Include a stylesheet that doesn't require any changes to the HTML content.
Process the form when it's submitted, getting the data from the request.
Use the model class to insert the data automatically without writing any SQL.
Add validation rules to the model to automatically validate the form data.
Display the validation error messages in the form when data aren't valid.
Show the original data in the input fields in the form when it's redisplayed.
Configure the model with different validation messages.
Add a flash message when redirecting back to the show page when the data are valid.
Escape untrusted input when it's displayed to avoid code injection attacks.
Add a page with a route for editing the data of an existing record, showing the existing data in the form controls.
Use the model to update the record when the form is submitted, via a route that uses the POST method.
Create a shared view containing the common form code to remove duplication.
Create an entity class whose objects will represent a single row from the database.
Configure the model class to return entity objects instead of arrays, and use these in the view templates.
Pass an entity object to the model when saving instead of an array of data.
Use the entity class to detect if any data have been changed in the form.
Create the model instance in the constructor of the controller to avoid repetition.
Use a CodeIgniter exception to show a 404 page when the ID of the supplied record doesn't exist in the database.
Add a page to ask for confirmation when deleting a record from the database.
Use the same action method for different HTTP methods, checking the method to decide on the action.
Only match routes when a specified HTTP method is used.
Using URI segments to route automatically without adding specific routes, including the advantages and disadvantages of doing this.
How to specify a name for a route and using it in a view.
Spoof an unsupported HTTP method with a specific hidden field in the form.
Convert some of the existing routes to be RESTful.
Convert the delete route to be RESTful.
Generate the RESTful resource routes automatically in the routes configuration file.
Install the official CodeIgniter Shield package using Composer.
Use the Shield package to register a new user, and log them in and out.
Configure the framework and package to optionally remember or forget the login between sessions.
Find an SMTP server and configure the framework to use it.
Send a test email to check that the SMTP server works from the framework.
Allow users to log in from a magic login link sent to their email if they have forgotten their password.
Require the user to activate their account after registering before they can login.
Customise the registration form to remove the requirement for the username.
Remove the validation for the username when a new user registers.
Add a first name input field to the registration form along with server-side validation.
Use a migration to add a first name column to the users table in the database.
Create and customise a user model class to include the first name when creating a user.
Use the first name property to show this field on the homepage when the user logs in.
Add a page with a form and a route for the user to input a new password.
Add server-side validation for the password reset page and process the form when it's submitted.
Use the user model to update the password in the database.
Redirect to the set password page after logging in using a magic login link.
Add a self-contained code module to hold all the code relating to user administration.
Add a routes config file inside the admin module for routes specific to that module.
Add an index view to list all the registered user accounts.
Use the pagination library to automatically paginate the list of user records on the user index page.
Use a migration to add an index to the created_at field of the database table so it can be used to order the results for pagination.
Add a page to show the details of an individual user record.
Look at different ways to specify the routes in a namespace.
Use the time and date library to display the date in a more readable format.
Add a helper to the admin module and use it to display boolean values in a more readable format.
Enable the banning of users using Shield in the admin module so that a banned user can't login.
CodeIgniter 4 is a modern, fast, lightweight, PHP MVC framework that allows you to build secure applications quickly and easily. It's simple to install and use, and works well on shared hosting. CodeIgniter provides a rich set of libraries for common tasks, which lets you focus on your project by minimizing the amount of code you need to write.
Learn how to develop PHP applications with CodeIgniter in this Comprehensive Course.
How to quickly install and configure the framework
Learn how to separate presentation code from application code
How to do CRUD (create, read, update, delete) operations
Signup: User account registration with the official Shield package
Authentication: login with remember me
User administration
Role-based access control
Account activation by email
File uploads and image processing
Deployment: installing the application on shared hosting
The essential skills required to develop applications quickly using CodeIgniter.
Developing PHP web applications is faster if you use a framework. There are many available frameworks, but some require a lot of configuration to get started, and need a powerful server to run. CodeIgniter is a lightweight but powerful framework, that's easy to install, and works well on shared hosting. On this course, we'll start from scratch, starting with installing the framework, through developing a complete web application, to ultimately installing it on a live server.
Content and Overview
This course is designed for the PHP developer who wants to learn the CodeIgniter framework in depth. I designed the course to be easily understood by PHP developers who have no previous experience of a framework, and who want to develop full, feature-rich applications quickly and easily. Learning the techniques on this course will enable you to write web applications using CodeIgniter faster than you would be able to do in plain PHP.
Suitable for all PHP developers, you'll start by learning the basics of the CodeIgniter framework.
You'll learn how the framework is organised, and how to work efficiently with it.
We'll build a full web application from scratch, with each concept explained in detail at every stage.
Throughout the course, we'll build code that you can reuse in all your projects.
All the source code developed in the lectures is available to download.
All the time we'll adhere to industry standards and best practices.
When you complete the course you'll be able to use CodeIgniter to create fast, flexible web applications, with all the features a modern web application requires.
Complete with all the code shown in the lectures, you'll be able to work alongside the instructor and will receive a verifiable certificate of completion upon finishing the course.
Also, at all times throughout the course you have access to the instructor in the Q&A section to ask for help with any topic related to the course.
Enrol now and become a master of the most popular lightweight PHP MVC framework!