Learn PHP fundamentals then build a job listing website from the ground up, using a Laravel-like infrastructure
What you'll learn Learn the fundamentals of PHP programming
Learning modules for data types, functions, loops, OOP, databases and more
Build a job listing website from the ground up without using any frameworks or libraries
Create a custom Laravel-like router that takes params & middleware
Learn to utilize namespaces and PSR-4 Autoloading
Build an authentication system using sessions
Great precursor if you plan on learning Laravel
Requirements You only need to know the basics of HTML
Description This course is broken up into two parts. First, we have seven learning modules to learn the fundamentals of PHP programming, including:Data Types & VariablesArrays & IterationControl Structures & ConditionalsFunctions & ScopeObject Oriented ProgrammingSuperglobals ($_GET, $_POST, $_SESSION, $_COOKIES, etc)Database Integration & PDOAfter that, we go for a hands-on approach and build a job listing website. We build this from the ground up without any framework or libraries. These sections will teach you how to structure a vanilla PHP project and is a great precursor to learning Laravel or another framework.Here is what we will do in the project videos:We will create a custom Laravel-like router. We will refactor this a bunch of times to keep adding features like accepting HTTP methods, params and middleware.We will structure our project into two main folders, which will be called Framework and App. Framework will be the core that includes classes like Router, Database, Validation, and Session. App will include our controllers and views.We will create CRUD operations for job listings.We will implement an authentication and authorization system as well as protect routes using custom middleware.We will add a search feature to search/filter listings by keywords and/or locationWe will learn to validate and sanitize data as well as use prepared statements with PDO to protect against SQL injection attacks.If you are a beginner, I suggest taking the course from the beginning and go through all of the learning modules. If you are more experienced and know the fundamentals, you can jump right into the project.
Overview Section 1: Introduction
Lecture 1 Welcome To The Course
Lecture 2 What Is PHP?
Lecture 3 Setup PHP - MacOS
Lecture 4 Setup PHP - Windows
Lecture 5 Text Editor Setup
Lecture 6 PHP Sandbox Setup
Section 2: Data Types, Variables & Built-in Functions
Lecture 7 PHP Tags, Printing & Comments
Lecture 8 Variables
Lecture 9 Data Types
Lecture 10 String Concatenation
Lecture 11 Type Casting & Juggling
Lecture 12 Variables Challenge
Lecture 13 Arithmetic Operators & Functions
Lecture 14 String Functions
Lecture 15 Dates & Times
Section 3: Arrays & Iteration
Lecture 16 Intro To Arrays
Lecture 17 Array Functions
Lecture 18 Associative Arrays
Lecture 19 Multi-Dimensional Arrays
Lecture 20 Array Challenges
Lecture 21 Basic Loops
Lecture 22 Nested Loops
Lecture 23 Looping Through Arrays
Lecture 24 Multi-Dimensional Array Iteration
Lecture 25 Array & Loop Challenges
Section 4: Control Structures & Conditionals
Lecture 26 If Statements
Lecture 27 Conditional HTML Output
Lecture 28 Comparison & Logical Operators
Lecture 29 Conditionals In Loops - break & continue
Lecture 30 Activity: Dynamic Job Listings
Lecture 31 FizzBuzz Challenge
Lecture 32 Switch Statements
Lecture 33 Ternary Operator
Lecture 34 Null Coalescing Operator
Lecture 35 Names Challenge
Section 5: Functions
Lecture 36 Functions & Return Values
Lecture 37 Parameters & Arguments
Lecture 38 Global & Local Scope
Lecture 39 Constants
Lecture 40 Optional Type Declarations
Lecture 41 Activity: Job Listings Helper Functions
Lecture 42 Average Salary Challenge
Lecture 43 Anonymous Functions & Closures
Lecture 44 Callback Functions
Lecture 45 Arrow Functions
Lecture 46 Format Salary Refactor Challenge
Lecture 47 More Function Challenges
Section 6: Object Oriented Programming (OOP)
Lecture 48 OOP Overview
Lecture 49 Creating a Class
Lecture 50 Access Modifiers, Getters & Setters
Lecture 51 Inheritence
Lecture 52 Static Members & Methods
Lecture 53 OOP Challenges
Lecture 54 Abstract Classes
Lecture 55 Interfaces
Section 7: Superglobals
Lecture 56 Overview Of Superglobals
Lecture 57 $_SERVER - Get Server Information
Lecture 58 Environment Variables & $GLOBALS
Lecture 59 $_GET - Data From Query Params
Lecture 60 $_POST - Data From Forms
Lecture 61 $_REQUEST - Superglobal
Lecture 62 $_FILES - Uploading Files
Lecture 63 Message Alert Challenge
Lecture 64 $_SESSION - Creating a Session
Lecture 65 $_COOKIE - Working With Cookies
Section 8: Database Integration & PDO
Lecture 66 An Intro To Databases
Lecture 67 MySQL Setup - MacOS
Lecture 68 MySQL Setup - Windows
Lecture 69 MySQL Shell & Making Queries
Lecture 70 MySQL Workbench & Database Setup
Lecture 71 Database Users & Privileges
Lecture 72 Connect With PDO
Lecture 73 Fetch Multiple Records
Lecture 74 Fetch Single Record
Lecture 75 Create Form & Insert Record
Lecture 76 Delete Records
Lecture 77 Edit Form & Update Records
Section 9: Workopia Project Start & Custom Routing
Lecture 78 Project Intro
Lecture 79 Project Repo Link
Lecture 80 UI Theme Files
Lecture 81 Folder Setup
Lecture 82 Home View & Set Document Root
Lecture 83 Git Setup & Commit
Lecture 84 Split UI Into Partials
Lecture 85 Inspect Helper Functions
Lecture 86 Create a VERY Basic Router
Lecture 87 Create Views
Lecture 88 Separate Router Files
Lecture 89 Router Refactor To Class
Section 10: Database Class, Fetch & Display Listings
Lecture 90 Section Intro
Lecture 91 Project Database Setup - MySQL Workbench
Lecture 92 Database Class & Connection
Lecture 93 Query Method & Fetch Listings
Lecture 94 Pass Data To View
Lecture 95 Single Listing & Named Params
Lecture 96 Single Listing Display
Section 11: Namespaces, Controller Classes & Router Refactor
Lecture 97 Section Intro
Lecture 98 Folder Structure Refactor
Lecture 99 Custom Autoloader
Lecture 100 Composer & PSR-4 Autoloader
Lecture 101 Namespaces
Lecture 102 Router Refactor For Controller Classes
Lecture 103 Controller Classes - Home & Listings
Lecture 104 ErrorController Class
Lecture 105 Handling Route Params
Lecture 106 Section Wrap
Section 12: Create, Update & Delete Listings
Lecture 107 Section Intro
Lecture 108 Validation Class
Lecture 109 Form Submission & Sanitizing Data
Lecture 110 Implement Validation
Lecture 111 Insert Listings Into Database
Lecture 112 Delete Listings
Lecture 113 Flash Messages
Lecture 114 Edit Form
Lecture 115 Update Listing
Section 13: Authentication, Authorization & Sessions
Lecture 116 Section Intro
Lecture 117 User Controller & Views
Lecture 118 Register Validation & Error Partial
Lecture 119 Register User
Lecture 120 Session Class & Set User
Lecture 121 Dynamic Navbar Links
Lecture 122 Logout & Clear Session
Lecture 123 Login Functionality
Lecture 124 Authorize Middleware
Lecture 125 Delete Authorization
Lecture 126 Flash Message Methods
Lecture 127 Update Authorization
Section 14: Final Touches & Added Content
Lecture 128 Section Intro
Lecture 129 Listing Search Functionality
Section 15: Project Deployment - Hostinger
Lecture 130 Hostinger Intro
Lecture 131 Hosting & Domain Setup
Lecture 132 Database Export - Local
Lecture 133 Database Import - Production
Lecture 134 Upload Website & Configure Files
Section 16: Wrap Up
Lecture 135 Course Wrap Up
Beginners as well as experienced developers that want to learn how to structure a PHP project with no frameworks
Warning! You are not allowed to view this text.
Warning! You are not allowed to view this text.