08-04-2024, 05:02 AM
Last updated 11/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.61 GB | Duration: 4h 28m
Learn how to quickly build fully-featured web applications with the most popular lightweight PHP MVC framework
What you'll learn
How to use a PHP MVC framework that's easier than Laravel
Simple Create, Read, Update, Delete (CRUD) for database records
User registration and login, with account activation by email
Role-based access control
Uploading and processing files
Support directly from the instructor
Short, specific lectures
All source code included
Requirements
You need to know PHP, including the basics of classes and objects, and how to work with a database
Ideally have a web server with PHP and Composer installed, but a brief overview of installing these will be covered
Be happy to install software and run basic commands on the command line
Description
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 frameworkLearn how to separate presentation code from application codeHow to do CRUD (create, read, update, delete) operationsSignup: User account registration with the official Shield packageAuthentication: login with remember meUser administrationRole-based access controlAccount activation by emailFile uploads and image processingDeployment: installing the application on shared hostingThe 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 OverviewThis 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!
Overview
Section 1: Introduction and Setup
Lecture 1 Introduction and Welcome: How to Get the Most out of the Course
Lecture 2 Install a Web Server with PHP, Database Server and phpMyAdmin
Lecture 3 Create an Empty Database in the Local Database Server
Lecture 4 Install Composer
Lecture 5 Install the CodeIgniter Framework
Lecture 6 Configure the Framework to Development Mode
Lecture 7 Configure the Web Server to Access the Framework using a Virtual Host
Lecture 8 Configure the Framework's Base URL Setting
Lecture 9 A Word about Versions
Lecture 10 Upgrade Guide
Lecture 11 Common Installation & Configuration Issues and their Solutions
Section 2: CodeIgniter and MVC Basics: Controllers, Views and Layouts
Lecture 12 MVC Basics: How a Framework is Different to Plain PHP
Lecture 13 View Basics: Create and Display the Homepage
Lecture 14 Add Another Controller and View to Display a List of Articles
Lecture 15 Addendum: Changes to the Routing File from Version 4.4.0
Lecture 16 Routing: How CodeIgniter Decides Which Controller and Method to Run
Lecture 17 Reduce Code Repetition by Using Multiple Views
Lecture 18 Include One View in Another
Lecture 19 Pass Data to a View from a Controller
Lecture 20 View Layouts: Create a Base Layout for Common View Code
Lecture 21 Change the Home Index View to Extend the Default Layout
Lecture 22 Change the Articles Index View to Extend the Default Layout
Section 3: Database Data: Migrations and Models
Lecture 23 Display Dynamic Data in a View
Lecture 24 Configure the Framework to Connect to the Database
Lecture 25 Check if the Database Connection Credentials are Correct
Lecture 26 Database Migrations: Add a Class to Create a Database Table from PHP
Lecture 27 Create the Database Table by Running the Migration
Lecture 28 Models: Connect to the Database and Select Data Automatically
Lecture 29 Debugging Tools: the Debug Bar and the dd Function
Section 4: Displaying and Inserting Database Data
Lecture 30 Add a Method and Route to Show an Individual Record
Lecture 31 Retrieve the Data for an Individual Record and Display it in a View
Lecture 32 Add Robust Links Between Pages Using the site_url Helper Function
Lecture 33 Display a Page for Adding a New Record
Lecture 34 Add a Form with Input Elements
Lecture 35 Add a Classless Stylesheet to Get Styling Quickly
Lecture 36 Process the Submitted Form and Get its Data
Lecture 37 Use the Model to Insert a New Record
Section 5: Validation and Output Escaping
Lecture 38 Validate the Form Data with Validation Rules in the Model
Lecture 39 Redirect Back to the Form and Display the Validation Error Messages
Lecture 40 Show Old Data in the Form When it's Redisplayed
Lecture 41 Change the Default Validation Messages
Lecture 42 Redirect to the Show Page with a Flash Message if Validation Passes
Lecture 43 Prevent XSS Attacks by Escaping Untrusted Data
Section 6: Entity Classes: Editing and Deleting Existing Records
Lecture 44 Add a Form to Edit an Existing Record
Lecture 45 Process the Submitted Form and Update the Record
Lecture 46 Extract Shared Form Code out into a Shared View
Lecture 47 Entity Classes: Create a Class to Represent a Single Database Row
Lecture 48 Use an Entity Object in the Views
Lecture 49 Change the Create Method to Use the Article Entity Class
Lecture 50 Detect if Any Attributes Have Changed When Updating Using the Entity Class
Lecture 51 Extract Common Controller Code out to the Constructor
Lecture 52 Show a 404 Not Found Page if the Record isn't Found
Lecture 53 Add a Confirmation Page for Deleting a Record
Lecture 54 Process the Confirmation and Delete the Record
Section 7: Routing: Autorouting and RESTful Resource Handling
Lecture 55 Specify the HTTP Verb for Each Route
Lecture 56 Autorouting: Match URL Segments to Controllers, Actions and Parameters
Lecture 57 Use Named Routes to Make the Code Less Fragile
Lecture 58 Spoof the HTTP DELETE Method When Deleting a Record
Lecture 59 RESTful Routing: Start Converting the Routes
Lecture 60 Convert the Route to Delete a Resource to be RESTful
Lecture 61 Generate Most of the RESTful Routes Automatically
Section 8: Registration and Login using Shield
Lecture 62 Install CodeIgniter Shield
Lecture 63 Register a New User and Log In and Out
Lecture 64 Remember the Login Between Browser Sessions
Lecture 65 Configure the Framework with an SMTP Server to Send Emails
Lecture 66 Send a Test Email to Check the Configuration is Correct
Lecture 67 Use a Magic Login Link if Password Forgotten
Lecture 68 Enable Account Activation by email
Section 9: Customise Shield
Lecture 69 Customising Shield Views: Remove the Username Field from the Register Page
Lecture 70 Customise the Registration Form Server-Side Validation Rules
Lecture 71 Add an Input for the User's First Name to the Registration Form
Lecture 72 Add a Column for First Name to the Users Table
Lecture 73 Create a User Provider Class to Save the First Name to the Database
Lecture 74 Display the First Name on the [b]Homepage[/b]When Logged In
Lecture 75 Display a Form for the User to Reset Their Own Password
Lecture 76 Add a Method to Process and Validate the New Password
Lecture 77 Update the User in the Database with the New Password
Lecture 78 Show the Set Password Page after Using a Magic Login Link
Section 10: User Administration
Lecture 79 Add a Controller in a Module for User Administration
Lecture 80 Add a Routes Config File to the Admin Module
Lecture 81 Use the User Model to List all the User Accounts
Lecture 82 Paginate the List of User Records
Lecture 83 Order the List of Records and Add an Index to the Database Table
Lecture 84 Show the Details of an Individual User Record
Lecture 85 Use Different Methods to Specify the Admin Module Routes
Lecture 86 Link the Index to the Show Page and Humanize the Created At Field
Lecture 87 Add a Helper to Display Boolean Values in Views
Lecture 88 Add an Option to Ban Users to Prevent Login
Section 11: Requiring Authentication Using Filters
Lecture 89 Require the User to Login to Access a Specific Method
Lecture 90 Create a Filter to Require Login for All Controller Methods
Lecture 91 Specify Filters in the Routes Configuration File
Lecture 92 Use the Shield Session Filter to Protect the User Admin Routes
Lecture 93 Protect Against Cross-Site Request Forgery Attacks with the CSRF Filter
Lecture 94 Add Consistent Navigation Links to the Layout
Section 12: Authorisation: User Groups
Lecture 95 Define the Groups for Authorisation Roles
Lecture 96 Use a Seeder to Create an Admin User
Lecture 97 Restrict Access to User Administration to Admin Users Only
Lecture 98 Add a Form to Edit User Group Membership
Lecture 99 Assign the Selected Groups to the User
Lecture 100 Prevent the Current Admin User from Removing Their Own Access
Section 13: Authorisation: User Permissions
Lecture 101 Link Article Records to Users in the Database
Lecture 102 Save the ID of the Current User when Inserting a New Article
Lecture 103 Display the Article Creator in the Index Using a Join Clause
Lecture 104 Add Timestamp Columns to the Article Table
Lecture 105 Update the Timestamp Columns Automatically and Paginate the Article Index
Lecture 106 Only Display Edit and Delete Links to the Article Creator
Lecture 107 Add Permissions and Assign them to Users
Lecture 108 Conditionally Display the Edit and Delete Links Based on the Permissions
Lecture 109 Assign Permissions to Groups
Section 14: File Uploads
Lecture 110 Add a Column to the Article Table for an Image Filename
Lecture 111 Add a Controller with a Method for Uploading an Image File
Lecture 112 Add a File Input and Get an Object that Represents the Uploaded File
Lecture 113 Check the Submitted File is Valid
Lecture 114 Restrict the File Upload by Size and Type
Lecture 115 Move the Uploaded File to a Permanent Location
Lecture 116 Resize and Crop the Uploaded Image
Lecture 117 Save the Name of the Uploaded File to the Article Record
Lecture 118 Serve the Uploaded Image File via a Controller Method
Lecture 119 Display the Uploaded Image on the Article Show Page
Lecture 120 Add an Option to Delete the Article Image File
Section 15: Deployment: Installing the Application on a Different Server
Lecture 121 Prepare the Production Server and Create an Empty Database
Lecture 122 Deploy the Code and Configure the Application
Lecture 123 Migrate and Seed the Database: With Console Access
Lecture 124 Migrate and Seed the Database: Without Console Access
Lecture 125 Change the Environment to Production
Section 16: Conclusion
Lecture 126 Conclusion
Lecture 127 Bonus Lecture: Discount CodeIgniter Web Hosting
PHP developers who want to learn a lightweight but powerful framework to develop applications faster,PHP developers who want to use a framework that's simpler than Laravel
Homepage