Complete Modern PHP Developer Course in 2023

23h 40m 59s
English
Paid

Course description

Updated to use PHP 8. PHP is one of the most popular programming languages in the world. It powers the entire modern web. It provides millions of high-paying jobs all over the world. That's why you want to learn PHP too. And you came to the right place!

Read more about the course

Why is this the right PHP course for you?

This is the most complete and in-depth PHP course on Udemy (and maybe the entire internet!). It's an all-in-one package that will take you from the very fundamentals of PHP, all the way to building modern applications.

You will learn modern PHP from the very beginning, step-by-step. I will guide you through practical and fun code examples, important theory about how PHP works behind the scenes, and a beautiful and complete project.

You will become ready to continue learning advanced back-end frameworks like Symfony, Laravel, Code Igniter, or Slim.

You will also learn how to think like a developer, how to plan application features, how to architect your code, how to debug code, and a lot of other real-world skills that you will need in your developer job.

And unlike other courses, this one actually contains beginner, intermediate, advanced, and even expert topics, so you don't have to buy any other course in order to master PHP from the ground up!

By the end of the course, you will have the knowledge and confidence that you need in order to ace your job interviews and become a professional developer.

So what exactly is covered in the course?

  • Build a beautiful real-world project for your portfolio! In this project, you will learn how to plan and architect your applications using flowcharts and common PHP patterns
  • Master the PHP fundamentals: variables, if/else, operators, boolean logic, functions, arrays, objects, loops, strings, and more
  • Learn modern PHP 8 from the beginning: arrow functions, destructuring, spread operator, variadic arguments, nullish coalesing operator, and more
  • Deep dive into object-oriented programming: encapsulation, abstraction, inheritance, and polymorphism. This section is like a small standalone course.
  • Dive deep into design patterns: MVC, singleton pattern, factory pattern, dependency injection, and PSR concepts.
  • Learn modern tools that are used by professional web developers: Composer and Packagist

This is what's also included in the package:

  • Up-to-date HD-quality videos, that are easy to search and reference
  • Downloadable starter code and final code for each section
  • Downloadable free eBook with summaries of the core concepts taught in each section.
  • Free support in the course Q&A
  • Coding challenges with solutions included.

This course is for you if

  • You want to gain a true and deep understanding of PHP
  • You have been trying to learn PHP but still don't really understand PHP, or still don't feel confident to code real apps
  • You are interested in using a library/framework like Symfony, Laravel, Slim, or Code Igniter in the future
  • You already know PHP and are looking for an advanced course. This course includes expert topics!
  • You want to get started with programming, PHP is a great first language!

Watch Online

This is a demo lesson (10:00 remaining)

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

View Pricing

Watch Online Complete Modern PHP Developer Course in 2023

0:00
/
#1: What is PHP?

All Course Lessons (305)

#Lesson TitleDurationAccess
1
What is PHP? Demo
05:04
2
PHP Environment
06:43
3
The PHP Interpreter
05:45
4
Running a PHP Script
06:45
5
PHP Tags
03:45
6
The echo Keyword
05:58
7
Comments
02:08
8
Variables
05:21
9
Assignment Operator
04:12
10
Data Types
04:36
11
The var_dump Function
03:11
12
Null Data Type
03:23
13
Boolean Data Type
02:29
14
Integers and Floats
03:44
15
String Data Type
06:42
16
Arrays
04:45
17
Associative Arrays
03:32
18
Multidimensional Arrays
03:39
19
Type Casting
07:51
20
Type Juggling
02:25
21
Arithmetic Operators
06:24
22
Assignment Operators
02:27
23
Comparison Operators
05:42
24
Error Control Operator
01:34
25
Incrementing and Decrementing Numbers
02:54
26
Logical Operators
04:28
27
Operator Precedence
05:40
28
Constants
04:58
29
String Concatenation
03:28
30
Terminology: Expressions
02:55
31
Control Structures
08:38
32
Switch Statements
06:07
33
Match Expressions
04:32
34
Functions
04:56
35
Function Parameters
04:10
36
Function Return Values
02:25
37
Type Hinting & Union Types
04:19
38
Strict Types
02:41
39
Short-Circuiting
02:53
40
While Loop
04:57
41
For Loop
04:40
42
Foreach Loop
02:58
43
Getting Started with Challenges
04:48
44
Coding Solution: Resistor Colors
03:32
45
Coding Solution: Two Fer
02:40
46
Coding Solution: Leap Year
05:20
47
Predefined Constants
05:29
48
Alternative Syntax for Constants
04:44
49
Unsetting Variables
04:34
50
Reading the PHP Documentation
06:27
51
Rounding Numbers
07:33
52
Alternative if statement syntax
05:10
53
Avoiding Functions in Conditions
06:34
54
Including PHP Files
10:04
55
Variadic Functions
04:27
56
Named Arguments
03:00
57
Global Variables
04:40
58
Static Variables
02:17
59
Anonymous and Arrow Functions
08:58
60
Callable Type
02:17
61
Passing by Reference
04:40
62
Array Functions
13:15
63
Destructuring Arrays
02:20
64
Working with Files
08:02
65
Exploring the Challenges
03:24
66
Coding Solution: Robot Name
04:59
67
Coding Solution: Armstrong Numbers
06:00
68
Coding Solution: Series
07:44
69
What is OOP (Object-Oriented Programming)?
04:50
70
Classes
05:53
71
Properties
05:47
72
Magic Methods
05:26
73
Constructor Property Promotion
01:58
74
Custom Methods
03:56
75
Null-safe Operator
02:23
76
Understanding Namespaces
02:49
77
Creating a Namespace
03:46
78
Working with Namespaces
09:49
79
Autoloading Classes
06:06
80
Using Constants in Classes
02:15
81
Static Properties and Methods
05:43
82
OOP Principle: Encapsulation
07:46
83
OOP Principle: Abstraction
02:35
84
OOP Principle: Inheritance
05:46
85
Protected Modifier
02:00
86
Overriding Methods
09:13
87
Abstract Classes and Methods
09:38
88
Interfaces
05:07
89
OOP Principle: Polymorphism
07:23
90
Anonymous Classes
03:53
91
Docblocks
05:53
92
Throwing Exceptions
06:55
93
Custom Exceptions
03:55
94
Catching Exceptions
05:34
95
The DateTime Class
11:34
96
Iterator and Iterable Type
12:20
97
OOP Challenges Overview
01:46
98
Coding Solution: Nucleotide Count
02:29
99
Coding Solution: Grade School
05:58
100
Project Overview
04:51
101
Text Editors
03:56
102
Understanding the LAMP stack
05:39
103
Exploring XAMPP
02:42
104
The htdocs Folder
05:27
105
Configuring Virtual Hosts in Apache
11:19
106
Configuring PHP
04:37
107
Creating an Application Class
04:18
108
Bootstrapping an Application
04:25
109
The Command Line
06:55
110
Understanding PSR
03:09
111
Installing Composer
07:08
112
JSON Crash Course
05:04
113
Initializing Composer
07:13
114
Generating Autoload Files
03:15
115
Including Autoload Files
02:25
116
What is Git?
02:38
117
Using GitHub
06:16
118
Exploring Git Files
05:54
119
Understanding Routing
03:57
120
Apache Mod Rewrite
07:27
121
The htaccess File
06:14
122
Sugar Functions
02:55
123
Creating a Router Class
02:32
124
Adding Routes
04:56
125
Understanding HTTP Methods
05:01
126
Supporting HTTP Methods in Routes
02:29
127
Normalizing Paths
03:35
128
Exploring Regular Expressions
07:08
129
Regular Expressions in PHP
03:05
130
MVC Design Pattern
06:25
131
Creating a Controller
01:56
132
Registering Controllers
02:52
133
Class Magic Constant
02:44
134
Dispatching a Route
04:38
135
Finding Matches with Regular Expressions
04:28
136
Instantiating Classes with Strings
02:57
137
PSR-12 Auto Formatting
05:15
138
Understanding Template Engines
02:39
139
Creating a Template Engine Class
02:08
140
Setting a Base Path
04:28
141
Rendering a Template
02:59
142
Extracting Arrays
03:55
143
Understanding Output Buffering
04:33
144
Creating an Output Buffer
02:50
145
Loading Assets
03:24
146
Adding Partials
04:14
147
Exercise: Creating an About Page
04:47
148
Escaping Data
07:30
149
Autoloading Functions
04:57
150
Understanding Dependency Injection
03:31
151
Creating a Container
02:33
152
External Definitions File
04:41
153
Factory Design Pattern
04:09
154
Merging Arrays
02:20
155
Reflective Programming
06:56
156
Validating Classes
03:33
157
Validating the Constructor Method
02:29
158
Retrieving the Constructor Parameters
02:24
159
Validating Parameters
06:38
160
Invoking Factory Functions
04:42
161
Instantiating a Class with Dependencies
03:36
162
Understanding Middleware
03:11
163
Supporting Router Middleware
02:37
164
Adding Middleware
02:28
165
Creating Middleware
01:56
166
Interface Contracts
04:02
167
Chaining Callback Functions
04:06
168
Looping through Middleware
03:09
169
Supporting Dependency Injection in Middleware
02:14
170
Global Template Variables
03:06
171
Singleton Pattern
07:33
172
Preparing the Registration Form
04:56
173
Configuring the Form
06:52
174
Handling POST Data
03:02
175
Understanding Services
04:16
176
Creating a Validator Class
05:38
177
Validation Rule Contract
05:42
178
Registering a Rule
04:25
179
Applying Rules to Fields
07:57
180
Storing Validation Errors
03:05
181
Custom Validation Exception
05:57
182
HTTP Status Codes
05:00
183
Custom Middleware
03:48
184
Redirection with Headers
06:25
185
Passing on the Errors
03:19
186
HTTP Referrer
02:48
187
Understanding Sessions
02:23
188
Enabling Sessions
04:20
189
Handling Session Exceptions
04:03
190
Common Session Error
06:16
191
Closing the Session Early
01:06
192
Injecting Errors into a Template
05:12
193
Flashing Errors
01:57
194
Displaying Errors
03:00
195
Validating Emails
04:38
196
Supporting Rule Parameters
05:38
197
Minimum Validation Rule
03:51
198
In Validation Rule
03:30
199
Exercise: URL Validation Rule
02:58
200
Password Matching Rule
03:45
201
Prefilling a Form
06:01
202
Filtering Sensitive Data
03:50
203
Introduction to SQL
05:29
204
Creating a Database
02:32
205
Creating Tables
09:12
206
Inserting Data
04:06
207
Reading Data
03:42
208
Updating Data
01:56
209
Deleting Data
02:18
210
Using PHPMyAdmin
07:44
211
Enabling PDO Extension
04:27
212
Custom Composer Scripts
03:46
213
Understanding DSN
01:44
214
Creating a DSN String
06:04
215
Connecting to a Database
03:00
216
The PDOException Class
03:42
217
Refactoring the Database Connection
05:13
218
Querying the Database
04:30
219
Fetch Modes
04:09
220
SQL Injections
05:27
221
Prepared Statements
05:46
222
Understanding Transactions
03:08
223
Creating Transactions with PDO
04:18
224
Understanding Data Modeling
03:57
225
Designing a User Table
10:10
226
Creating a Table in an SQL File
06:07
227
Loading Files
02:24
228
Conditionally Creating Tables
02:09
229
Refactoring the Query
02:24
230
Database Container Definition
01:32
231
Understanding Environment Variables
05:38
232
Creating Environment Variables
05:21
233
Ignoring Environment Files
01:59
234
Passing on the Container to Definitions
04:30
235
Counting Records with SQL
02:54
236
Supporting Prepared Statements
02:07
237
Validating Duplicate Emails
04:44
238
Exercise: Inserting a User
04:19
239
Understanding Hashing
05:32
240
Hashing a Password
05:29
241
Preparing the Login Page
02:52
242
Exercise: Validating the Login Form
07:00
243
Validating the User’s Credentials
09:45
244
Understanding Session Hijacking
03:18
245
Configuring Session Cookies
06:25
246
Regenerating a Session ID
01:51
247
Protecting Routes
03:47
248
Applying Route Middleware
07:01
249
Logging out of the Application
02:55
250
Authenticating Registered Users
02:44
251
Understanding CSRF
02:08
252
Generating a CSRF Token
04:30
253
Rendering Tokens
03:10
254
Validating CSRF Tokens
07:12
255
Conditionally Rendering Sections
01:55
256
Designing the Transactions Table
03:43
257
Understanding Database Relationships
05:47
258
Adding Foreign Keys
06:33
259
Preparing the Create Transaction Page
04:11
260
Validating Transactions
03:53
261
Validating Maximum Character Length
04:28
262
Validating Numbers
02:42
263
Validating Dates
04:51
264
Creating a Transaction
07:05
265
Retrieving Transactions
06:08
266
Formatting Dates with SQL
03:30
267
Query Parameters
05:48
268
SQL LIKE Clause
03:11
269
Filtering Transactions
01:35
270
Escaping the Search Term
01:59
271
SQL Limit Clause
02:30
272
Limiting Results
05:09
273
Previous Page Link
04:21
274
Next Page Link
05:56
275
Page Number Links
07:08
276
Preparing the Edit Route
06:02
277
Replacing Strings with Regular Expressions
06:17
278
Extracting Route Parameter Values
06:50
279
Edit Transaction Template
07:16
280
Updating a Transaction
06:52
281
Overriding HTTP Methods
05:56
282
Deleting a Transaction
03:20
283
Preparing the Receipt Controller
03:57
284
Encoding File Data
02:39
285
Exercise: Creating a Receipt Service
06:26
286
Validating a File Upload
03:36
287
Validating File Sizes
02:51
288
Validating Filenames
03:43
289
Validating File Mime Types
03:50
290
Generating a Random Filename
03:37
291
Moving Uploaded Files
04:53
292
Designing the Receipts Table
04:57
293
Storing the Receipt
03:01
294
Displaying Receipts
07:45
295
Validating the Download Request
04:14
296
Downloading Files
06:32
297
Deleting a Receipt
04:35
298
Magic Numbers
05:55
299
Destroying Session Cookies
05:50
300
Rendering a 404 Page
07:11
301
Understanding Deployment
03:37
302
Configuring a Server
08:45
303
Configuring an Application
02:24
304
Setting up our Project
13:24
305
Conclusion
01:25

Unlock unlimited learning

Get instant access to all 304 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

Practical Object Oriented Programming

Practical Object Oriented Programming

Sources: Codecourse
Learn OOP with a practical twist, and finish up by building a todo application to cover what we've learned.
3 hours 28 minutes 58 seconds
PHP with Laravel - Create a Restaurant Management System

PHP with Laravel - Create a Restaurant Management System

Sources: udemy
Welcome to the PHP with Laravel - Create a Restaurant Management System. The course covers the concepts of using PHP and Laravel Framework to build an innovativ
9 hours 39 minutes 12 seconds
Refactoring to Collections

Refactoring to Collections

Sources: adamwathan
Learn how to use collection pipelines to break down ugly, complex functions into a series of simple transformations, free of loops, complex conditionals, and temporary variables...
4 hours 44 minutes 21 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 Google search engine clone: JavaScript PHP and MySQL

Make a Google search engine clone: 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 search engine just like Google? If so, you’re in the right place! This
5 hours 47 minutes 11 seconds