PHP From Scratch 2024 | Beginner To Advanced

18h 17m 27s
English
Paid

Course description

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:

Read more about the course
  • 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.


Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 133 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online PHP From Scratch 2024 | Beginner To Advanced

0:00
/
#1: Welcome To The Course

All Course Lessons (133)

#Lesson TitleDurationAccess
1
Welcome To The Course Demo
04:16
2
What Is PHP?
11:06
3
Setup PHP - MacOS
04:39
4
Setup PHP - Windows
04:42
5
Text Editor Setup
04:16
6
PHP Sandbox Setup
03:48
7
PHP Tags, Printing & Comments
09:29
8
Variables
05:46
9
Data Types
10:22
10
String Concatenation
07:36
11
Type Casting & Juggling
10:12
12
Variables Challenge
04:41
13
Arithmetic Operators & Functions
12:29
14
String Functions
06:15
15
Dates & Times
07:52
16
Intro To Arrays
12:28
17
Array Functions
20:04
18
Associative Arrays
05:29
19
Multi-Dimensional Arrays
07:13
20
Array Challenges
14:47
21
Basic Loops
12:03
22
Nested Loops
07:22
23
Looping Through Arrays
08:33
24
Multi-Dimensional Array Iteration
04:58
25
Array & Loop Challenges
09:47
26
If Statements
06:13
27
Conditional HTML Output
05:33
28
Comparison & Logical Operators
06:44
29
Conditionals In Loops - break & continue
06:25
30
Activity: Dynamic Job Listings
05:20
31
FizzBuzz Challenge
05:27
32
Switch Statements
06:43
33
Ternary Operator
09:30
34
Null Coalescing Operator
04:18
35
Names Challenge
07:26
36
Functions & Return Values
05:04
37
Parameters & Arguments
06:23
38
Global & Local Scope
06:11
39
Constants
05:06
40
Optional Type Declarations
04:37
41
Activity: Job Listings Helper Functions
07:06
42
Average Salary Challenge
07:45
43
Anonymous Functions & Closures
06:29
44
Callback Functions
04:42
45
Arrow Functions
04:34
46
Format Salary Refactor Challenge
03:30
47
More Function Challenges
12:27
48
OOP Overview
05:35
49
Creating a Class
10:34
50
Access Modifiers, Getters & Setters
06:48
51
Inheritence
07:09
52
Static Members & Methods
03:22
53
OOP Challenges
10:55
54
Abstract Classes
10:28
55
Interfaces
08:37
56
Overview Of Superglobals
03:39
57
$_SERVER - Get Server Information
11:54
58
Environment Variables & $GLOBALS
06:39
59
$_GET - Data From Query Params
15:46
60
$_POST - Data From Forms
12:26
61
$_REQUEST - Superglobal
02:41
62
$_FILES - Uploading Files
12:19
63
Message Alert Challenge
08:23
64
$_SESSION - Creating a Session
08:45
65
$_COOKIE - Working With Cookies
10:24
66
An Intro To Databases
07:35
67
MySQL Setup - MacOS
03:05
68
MySQL Setup - Windows
02:14
69
MySQL Shell & Making Queries
13:52
70
MySQL Workbench & Database Setup
10:54
71
Database Users & Privileges
06:00
72
Connect With PDO
07:21
73
Fetch Multiple Records
11:07
74
Fetch Single Record
08:57
75
Create Form & Insert Record
07:35
76
Delete Records
10:16
77
Edit Form & Update Records
11:15
78
Project Intro
07:16
79
UI Theme Files
05:42
80
Folder Setup
02:35
81
Home View & Set Document Root
11:58
82
Git Setup & Commit
04:32
83
Split UI Into Partials
15:37
84
Inspect Helper Functions
04:34
85
Create a VERY Basic Router
11:40
86
Create Views
06:44
87
Separate Router Files
04:32
88
Router Refactor To Class
22:16
89
Section Intro
00:52
90
Project Database Setup - MySQL Workbench
16:49
91
Database Class & Connection
10:07
92
Query Method & Fetch Listings
09:00
93
Pass Data To View
14:15
94
Single Listing & Named Params
10:59
95
Single Listing Display
04:26
96
Section Intro
01:37
97
Folder Structure Refactor
04:14
98
Custom Autoloader
03:56
99
Composer & PSR-4 Autoloader
05:12
100
Namespaces
05:03
101
Router Refactor For Controller Classes
11:31
102
Controller Classes - Home & Listings
08:25
103
ErrorController Class
08:01
104
Handling Route Params
22:42
105
Section Wrap
02:31
106
Section Intro
01:09
107
Validation Class
12:36
108
Form Submission & Sanitizing Data
10:51
109
Implement Validation
10:17
110
Insert Listings Into Database
15:07
111
Delete Listings
09:52
112
Flash Messages
08:56
113
Edit Form
07:49
114
Update Listing
19:37
115
Section Intro
01:27
116
User Controller & Views
09:55
117
Register Validation & Error Partial
12:39
118
Register User
11:34
119
Session Class & Set User
15:47
120
Dynamic Navbar Links
05:04
121
Logout & Clear Session
04:37
122
Login Functionality
13:38
123
Authorize Middleware
14:00
124
Delete Authorization
12:37
125
Flash Message Methods
12:01
126
Update Authorization
05:52
127
Section Intro
00:36
128
Listing Search Functionality
17:30
129
Hostinger Intro
02:41
130
Hosting & Domain Setup
03:31
131
Database Export - Local
05:08
132
Upload Website & Configure Files
09:00
133
Course Wrap Up
02:09

Unlock unlimited learning

Get instant access to all 132 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Self-Made SaaS Course

Self-Made SaaS Course

Sources: Andrew Schmelyun
Move from idea to a finished application with the video course "Building SaaS Yourself"! You will learn to create a fully functional SaaS application from...
5 hours 19 minutes 41 seconds
Become a WordPress Developer: Unlocking Power With Code

Become a WordPress Developer: Unlocking Power With Code

Sources: udemy
Learn PHP, JavaScript, WordPress theming & the WP REST API to Create Custom & Interactive WordPress Websites. Unlock the full power of WordPress and go beyond "just a blog platf...
41 hours 45 minutes 55 seconds
Write PHP Like a Pro: Build a PHP MVC Framework From Scratch

Write PHP Like a Pro: Build a PHP MVC Framework From Scratch

Sources: udemy
Learn to write faster, easier to maintain, more secure PHP websites by using a model-view-controller framework. Learn the basic concepts of using a model-view-c
2 hours 51 minutes 57 seconds
Make a Spotify Clone from Scratch: JavaScript PHP and MySQL

Make a Spotify Clone from Scratch: JavaScript PHP and MySQL

Sources: udemy
Do you want to become an expert in JavaScript, PHP and MySQL? Do you want to build a real music streaming site just like Spotify? If so, you’re in the right place! This course w...
14 hours 59 minutes 31 seconds
phpspec: Testing... *Designing* with a Bite

phpspec: Testing... *Designing* with a Bite

Sources: symfonycasts
phpspec: a tool for unit testing? Sure... but, oof, it's so much cooler than that! Yes, just like with our phpunit tutorial, when we finally launch our dinosau
2 hours 54 minutes 25 seconds