Complete Modern PHP Developer Course in 2023

23h 40m 59s
English
Paid
March 6, 2024

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!

More

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 Complete Modern PHP Developer Course in 2023

Join premium to watch
Go to premium
# Title Duration
1 What is PHP? 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

Similar courses to Complete Modern PHP Developer Course in 2023

Practical Object Oriented Programming

Practical Object Oriented Programming

Duration 3 hours 28 minutes 58 seconds
Make a Spotify Clone from Scratch: JavaScript PHP and MySQL

Make a Spotify Clone from Scratch: JavaScript PHP and MySQL

Duration 14 hours 59 minutes 31 seconds
PHP Development Bootcamp: Zero to Mastery

PHP Development Bootcamp: Zero to Mastery

Duration 23 hours 47 minutes 23 seconds
Become a WordPress Developer: Unlocking Power With Code

Become a WordPress Developer: Unlocking Power With Code

Duration 41 hours 45 minutes 55 seconds
PHP From Scratch 2024 | Beginner To Advanced

PHP From Scratch 2024 | Beginner To Advanced

Duration 18 hours 17 minutes 27 seconds
Refactoring to Collections

Refactoring to Collections

Duration 4 hours 44 minutes 21 seconds