PHP From Scratch | Beginner To Advanced

PHP From Scratch | Beginner To Advanced

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 135 lectures (18h 18m) | 9.25 GB

Learn PHP fundamentals then build a job listing website from the ground up, using a Laravel-like infrastructure

This course is broken up into two parts. First, we have seven learning modules to learn the fundamentals of PHP programming, including:

  • Data Types & Variables
  • Arrays & Iteration
  • Control Structures & Conditionals
  • Functions & Scope
  • Object Oriented Programming
  • Superglobals (GET, POST, SESSION, COOKIES, etc)
  • Database Integration & PDO

After 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 location
  • We 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.

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
Table of Contents

Introduction
1 Welcome To The Course
2 What Is PHP
3 Setup PHP MacOS
4 Setup PHP Windows
5 Text Editor Setup
6 PHP Sandbox Setup

Data Types Variables Builtin Functions
7 PHP Tags Printing Comments
8 Variables
9 Data Types
10 String Concatenation
11 Type Casting Juggling
12 Variables Challenge
13 Arithmetic Operators Functions
14 String Functions
15 Dates Times

Arrays Iteration
16 Intro To Arrays
17 Array Functions
18 Associative Arrays
19 MultiDimensional Arrays
20 Array Challenges
21 Basic Loops
22 Nested Loops
23 Looping Through Arrays
24 MultiDimensional Array Iteration
25 Array Loop Challenges

Control Structures Conditionals
26 If Statements
27 Conditional HTML Output
28 Comparison Logical Operators
29 Conditionals In Loops break continue
30 Activity Dynamic Job Listings
31 FizzBuzz Challenge
32 Switch Statements
33 Ternary Operator
34 Null Coalescing Operator
35 Names Challenge

Functions
36 Functions Return Values
37 Parameters Arguments
38 Global Local Scope
39 Constants
40 Optional Type Declarations
41 Activity Job Listings Helper Functions
42 Average Salary Challenge
43 Anonymous Functions Closures
44 Callback Functions
45 Arrow Functions
46 Format Salary Refactor Challenge
47 More Function Challenges

Object Oriented Programming OOP
48 OOP Overview
49 Creating a Class
50 Access Modifiers Getters Setters
51 Inheritence
52 Static Members Methods
53 OOP Challenges
54 Abstract Classes
55 Interfaces

Superglobals
56 Overview Of Superglobals
57 SERVER Get Server Information
58 Environment Variables GLOBALS
59 GET Data From Query Params
60 POST Data From Forms
61 REQUEST Superglobal
62 FILES Uploading Files
63 Message Alert Challenge
64 SESSION Creating a Session
65 COOKIE Working With Cookies

Database Integration PDO
66 An Intro To Databases
67 MySQL Setup MacOS
68 MySQL Setup Windows
69 MySQL Shell Making Queries
70 MySQL Workbench Database Setup
71 Database Users Privileges
72 Connect With PDO
73 Fetch Multiple Records
74 Fetch Single Record
75 Create Form Insert Record
76 Delete Records
77 Edit Form Update Records

Workopia Project Start Custom Routing
78 Project Intro
79 Project Repo Link
80 UI Theme Files
81 Folder Setup
82 Home View Set Document Root
83 Git Setup Commit
84 Split UI Into Partials
85 Inspect Helper Functions
86 Create a VERY Basic Router
87 Create Views
88 Separate Router Files
89 Router Refactor To Class

Database Class Fetch Display Listings
90 Section Intro
91 Project Database Setup MySQL Workbench
92 Database Class Connection
93 Query Method Fetch Listings
94 Pass Data To View
95 Single Listing Named Params
96 Single Listing Display

Namespaces Controller Classes Router Refactor
97 Section Intro
98 Folder Structure Refactor
99 Custom Autoloader
100 Composer PSR4 Autoloader
101 Namespaces
102 Router Refactor For Controller Classes
103 Controller Classes Home Listings
104 ErrorController Class
105 Handling Route Params
106 Section Wrap

Create Update Delete Listings
107 Section Intro
108 Validation Class
109 Form Submission Sanitizing Data
110 Implement Validation
111 Insert Listings Into Database
112 Delete Listings
113 Flash Messages
114 Edit Form
115 Update Listing

Authentication Authorization Sessions
116 Section Intro
117 User Controller Views
118 Register Validation Error Partial
119 Register User
120 Session Class Set User
121 Dynamic Navbar Links
122 Logout Clear Session
123 Login Functionality
124 Authorize Middleware
125 Delete Authorization
126 Flash Message Methods
127 Update Authorization

Final Touches Added Content
128 Section Intro
129 Listing Search Functionality

Project Deployment
130 Section Intro
131 Hosting Domain Setup
132 Database Export Local
133 Database Import Production
134 Upload Website Configure Files

Wrap Up
135 Course Wrap Up

Homepage