Skip to main content
CF

PHP From Scratch 2024 | Beginner To Advanced

18h 17m 27s
English
Paid

Master PHP from the ground up by learning its fundamentals and building a comprehensive job listing website using a Laravel-like infrastructure. This course is divided into two parts, ensuring a thorough understanding of PHP programming and practical application.

PHP Fundamentals

This section covers seven essential modules to build a solid foundation in PHP programming:

  • Data Types & Variables: Understand how to use and manipulate basic data types.
  • Arrays & Iteration: Learn to handle data collections and loop through them efficiently.
  • Control Structures & Conditionals: Master decision-making in your programs.
  • Functions & Scope: Organize your code into reusable blocks and understand variable scope.
  • Object Oriented Programming (OOP): Delve into classes, objects, inheritance, and more.
  • Superglobals: ($_GET, $_POST, $_SESSION, $_COOKIES, etc) gain insights into server and client data handling.
  • Database Integration & PDO: Connect to databases safely and manage data effectively.

Project: Job Listing Website

After mastering the fundamentals, you'll engage in a hands-on project where you will build a job listing website from scratch, without relying on any frameworks or libraries. This project will prepare you for using PHP frameworks such as Laravel.

Key Features of the Project

  • Custom Router: Develop a custom Laravel-like router, continuously refactored to enhance features like accepting HTTP methods, parameters, and middleware.
  • Project Structure: Organize the project into two main directories: Framework and App. The former includes core classes like Router, Database, Validation, and Session, while the latter houses controllers and views.
  • CRUD Operations: Implement comprehensive Create, Read, Update, and Delete operations for job listings.
  • Authentication & Authorization: Develop a robust system to authenticate users, authorize actions, and protect routes with custom middleware.
  • Search Functionality: Add a feature to search and filter job listings by keywords and location.
  • Security Practices: Validate and sanitize user data, and use prepared statements with PDO to prevent SQL injection attacks.

Who Should Take This Course?

If you're a beginner, it's recommended to start from the beginning and go through all the learning modules. Experienced programmers familiar with the fundamentals can jump straight into the project section for an intensive, practical experience.

About the Authors

Brad Traversy

Brad Traversy thumbnail

Brad Traversy is a US developer behind Traversy Media — one of the largest independent web-development YouTube channels, with millions of subscribers and one of the most-viewed introductory tutorial libraries on the platform. He has been publishing daily-or-near-daily web development content continuously for nearly a decade and has anchored a generation of self-taught developers' first exposure to HTML, CSS, JavaScript, and the modern framework landscape.

The course catalog (sold via Udemy and the standalone Traversy platform) covers the full web-development stack: HTML and CSS fundamentals, JavaScript, React (including Next.js), Vue, Node.js, Express, MongoDB, full-stack MERN applications, Tailwind CSS, modern CSS layout, and the surrounding tooling. Brad's teaching style is calm, patient, and deliberately accessible to absolute beginners.

The CourseFlix listing under this source carries over 17 Brad Traversy courses spanning that range. Material is paid and aimed primarily at self-taught developers building real proficiency with web development from a clean start.

Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 133 lessons

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
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

Related courses

Frequently asked questions

What are the prerequisites for enrolling in this course?
There are no formal prerequisites for this course. It is designed for beginners who have no prior experience with PHP. However, basic knowledge of HTML and general programming concepts can be helpful but is not required. The course starts from the very basics, such as setting up PHP on different operating systems and configuring a text editor.
What will I build during the course?
During the course, you will build a comprehensive job listing website from scratch. This project involves developing a custom Laravel-like router, which will help you understand the intricacies of PHP without relying on existing frameworks or libraries. The project is designed to solidify your understanding of PHP fundamentals and prepare you for future work with PHP frameworks like Laravel.
Who is the target audience for this course?
The course is aimed at beginners who want to learn PHP from the ground up, as well as developers who are familiar with other programming languages and wish to add PHP to their skill set. It is suitable for anyone interested in building dynamic web applications and gaining practical experience by working on a real-world project.
How does this course compare in depth to other PHP courses?
This course provides a thorough introduction to PHP, covering fundamental concepts through practical applications. It includes 133 lessons and goes beyond basic PHP by teaching students to build a job listing website. Unlike many other beginner courses, it emphasizes both the foundational elements of PHP and practical project experience without using frameworks, offering a balanced approach to learning.
Is there a specific PHP framework taught in the course?
The course does not focus on teaching a specific PHP framework. Instead, it prepares you for using frameworks like Laravel by having you build a project with a custom Laravel-like router from scratch. This approach helps you understand the underlying principles of frameworks and equips you with the skills to work with them effectively in the future.
What topics are not covered in this course?
The course does not cover advanced PHP topics such as PHP 8 specific features, deployment to production environments, or integration with modern JavaScript frameworks. Additionally, it does not delve into using third-party libraries or frameworks, focusing instead on building a solid foundation in PHP fundamentals and a standalone project.
How much time should I expect to commit to this course?
The course consists of 133 lessons and is designed to be completed at your own pace. While the total runtime is not specified, students should expect to dedicate several hours each week to go through the lessons, complete exercises, and work on the final project. The time commitment will vary depending on your prior experience and learning speed.