Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Zero To Mastery

PHP Development Bootcamp: Zero to Mastery

via Zero To Mastery

Overview

Learn modern PHP and become a better developer. This is the only PHP course you need to go from complete beginner to coding your own PHP applications and working with existing PHP applications.
  • Learn PHP's role in backend web development for dynamic content and database interactions
  • Explore web development career opportunities with PHP, including CMS and freelancing
  • Build a real-world PHP project to enhance your portfolio and apply practical skills
  • Master PHP fundamentals and modern features like arrow functions and nullish coalescing operators
  • Dive into object-oriented programming in PHP, covering encapsulation, abstraction, and polymorphism
  • Familiarize yourself with professional tools like Composer and Packagist for efficient development
  • Focus on core PHP skills, excluding specific frameworks and CMS for a solid PHP foundation
  • Experience a transformative learning journey from basics to deploying a complete PHP project

Syllabus

  •   Section 1: Introduction to PHP
    • Learn PHP with Luis Ramirez
    • What is PHP?
    • PHP Environment
    • Exercise: Meet Your Classmates and Instructor
    • Course Resources
    • Understanding Your Video Player (notes, video speed, subtitles + more)
    • Set Your Learning Streak Goal
  •   Section 2: Working with Data
    • The PHP Interpreter
    • Running a PHP Script
    • PHP Tags
    • The echo Keyword
    • Comments
    • Variables
    • Assignment Operator
    • Data Types
    • The var_dump Function
    • Null Data Type
    • Boolean Data Type
    • Integers and Floats
    • String Data Type
    • Exercise: Data Type
    • Arrays
    • Associative Arrays
    • Multidimensional Arrays
    • Type Casting
    • Type Juggling
    • Arithmetic Operators
    • Assignment Operators
    • Comparison Operators
    • Error Control Operator
    • Incrementing and Decrementing Numbers
    • Logical Operators
    • Operator Precedence
    • Constants
    • String Concatenation
    • Let's Have Some Fun (+ More Resources)
  •   Section 3: Adding Logic
    • Terminology: Expressions
    • Control Structures
    • Switch Statements
    • Match Expressions
    • Functions
    • Function Parameters
    • Function Return Values
    • Type Hinting & Union Types
    • Strict Types
    • Short-Circuiting
    • While Loop
    • For Loop
    • Foreach Loop
    • Unlimited Updates
  •   Section 4: Beginner PHP Challenges
    • Getting Started with Challenges
    • Coding Exercise: Resistor Colors
    • Coding Solution: Resistor Colors
    • Coding Exercise: Two-Fer
    • Coding Solution: Two Fer
    • Coding Exercise: Leap Year
    • Coding Solution: Leap Year
    • Implement a New Life System
  •   Section 5: Filling in the Gaps
    • Predefined Constants
    • Alternative Syntax for Constants
    • Unsetting Variables
    • Reading the PHP Documentation
    • Rounding Numbers
    • Alternative if statement syntax
    • Avoiding Functions in Conditions
    • Including PHP Files
    • Variadic Functions
    • Named Arguments
    • Global Variables
    • Static Variables
    • Anonymous and Arrow Functions
    • Callable Type
    • Passing by Reference
    • Array Functions
    • Destructuring Arrays
    • Working with Files
    • Course Check-In
  •   Section 6: More PHP Challenges
    • Exploring the Challenges
    • Coding Exercise: Human Robot
    • Coding Solution: Robot Name
    • Coding Exercise: Armstrong Numbers
    • Coding Solution: Armstrong Numbers
    • Coding Exercise: Series
    • Coding Solution: Series
  •   Section 7: Object-Oriented Programming (OOP)
    • What is OOP (Object-Oriented Programming)?
    • Classes
    • Properties
    • Magic Methods
    • Constructor Property Promotion
    • Custom Methods
    • Null-safe Operator
    • Understanding Namespaces
    • Creating a Namespace
    • Working with Namespaces
    • Autoloading Classes
    • Using Constants in Classes
    • Static Properties and Methods
    • OOP Principle: Encapsulation
    • OOP Principle: Abstraction
    • OOP Principle: Inheritance
    • Protected Modifier
    • Overriding Methods
    • Abstract Classes and Methods
    • Interfaces
    • OOP Principle: Polymorphism
    • Anonymous Classes
    • Docblocks
    • Throwing Exceptions
    • Custom Exceptions
    • Catching Exceptions
    • The DateTime Class
    • Iterator and Iterable Type
  •   Section 8: OOP Challenges
    • OOP Challenges Overview
    • Coding Exercise: Nucleotide Count
    • Coding Solution: Nucleotide Count
    • Coding Exercise: Grade School
    • Coding Solution: Grade School
  •   Section 9: Master Project: Framework Foundation
    • Project Overview
    • Text Editors
    • Understanding the LAMP stack
    • Exploring XAMPP
    • The htdocs Folder
    • Configuring Virtual Hosts in Apache
    • Configuring PHP
    • Creating an Application Class
    • Bootstrapping an Application
    • The Command Line
    • Understanding PSR
    • Installing Composer
    • JSON Crash Course
    • Initializing Composer
    • Generating Autoload Files
    • Including Autoload Files
    • What is Git?
    • Using GitHub
    • Exploring Git Files
    • Exercise: Imposter Syndrome
  •   Section 10: Master Project: Routing
    • Understanding Routing
    • Apache Mod Rewrite
    • The htaccess File
    • Sugar Functions
    • Creating a Router Class
    • Adding Routes
    • Understanding HTTP Methods
    • Supporting HTTP Methods in Routes
    • Normalizing Paths
    • Exploring Regular Expressions
    • Regular Expressions in PHP
    • MVC Design Pattern
    • Creating a Controller
    • Registering Controllers
    • Class Magic Constant
    • Dispatching a Route
    • Finding Matches with Regular Expressions
    • Instantiating Classes with Strings
    • PSR-12 Auto Formatting
  •   Section 11: Master Project: Template Engines
    • Understanding Template Engines
    • Creating a Template Engine Class
    • Setting a Base Path
    • Rendering a Template
    • Extracting Arrays
    • Understanding Output Buffering
    • Creating an Output Buffer
    • Loading Assets
    • Adding Partials
    • Exercise: Creating an About Page
    • Escaping Data
    • Autoloading Functions
  •   Section 12: Master Project: Containers and Dependency Injection
    • Understanding Dependency Injection
    • Creating a Container
    • External Definitions File
    • Factory Design Pattern
    • Merging Arrays
    • Reflective Programming
    • Validating Classes
    • Validating the Constructor Method
    • Retrieving the Constructor Parameters
    • Validating Parameters
    • Invoking Factory Functions
    • Instantiating a Class with Dependencies
    • Understanding Middleware
    • Supporting Router Middleware
    • Adding Middleware
    • Creating Middleware
    • Interface Contracts
    • Chaining Callback Functions
    • Looping through Middleware
    • Supporting Dependency Injection in Middleware
    • Global Template Variables
    • Singleton Pattern
  •   Section 13: Master Project: Form Validation
    • Preparing the Registration Form
    • Configuring the Form
    • Handling POST Data
    • Understanding Services
    • Creating a Validator Class
    • Validation Rule Contract
    • Registering a Rule
    • Applying Rules to Fields
    • Storing Validation Errors
    • Custom Validation Exception
    • HTTP Status Codes
    • Custom Middleware
    • Redirection with Headers
    • Passing on the Errors
    • HTTP Referrer
    • Understanding Sessions
    • Enabling Sessions
    • Handling Session Exceptions
    • Common Session Error
    • Closing the Session Early
    • Injecting Errors into a Template
    • Flashing Errors
    • Displaying Errors
    • Validating Emails
    • Supporting Rule Parameters
    • Minimum Validation Rule
    • In Validation Rule
    • Exercise: URL Validation Rule
    • Password Matching Rule
    • Prefilling a Form
    • Filtering Sensitive Data
  •   Section 14: Master Project: MySQL
    • Introduction to SQL
    • Creating a Database
    • Creating Tables
    • Inserting Data
    • Reading Data
    • Updating Data
    • Deleting Data
    • Using PHPMyAdmin
    • Enabling PDO Extension
    • Custom Composer Scripts
    • Understanding DSN
    • Creating a DSN String
    • Connecting to a Database
    • The PDOException Class
    • Refactoring the Database Connection
    • Querying the Database
    • Fetch Modes
    • SQL Injections
    • Prepared Statements
    • Understanding Transactions
    • Creating Transactions with PDO
    • Understanding Data Modeling
    • Designing a User Table
    • Creating a Table in an SQL File
    • Loading Files
    • Conditionally Creating Tables
    • Refactoring the Query
  •   Section 15: Master Project: User Registration and Authentication
    • Database Container Definition
    • Understanding Environment Variables
    • Exercise: Updating the CLI to use Environment Variables
    • Creating Environment Variables
    • Ignoring Environment Files
    • Passing on the Container to Definitions
    • Counting Records with SQL
    • Supporting Prepared Statements
    • Validating Duplicate Emails
    • Exercise: Inserting a User
    • Understanding Hashing
    • Hashing a Password
    • Preparing the Login Page
    • Exercise: Validating the Login Form
    • Validating the User’s Credentials
    • Understanding Session Hijacking
    • Configuring Session Cookies
    • Regenerating a Session ID
    • Protecting Routes
    • Applying Route Middleware
    • Logging out of the Application
    • Authenticating Registered Users
    • Understanding CSRF
    • Generating a CSRF Token
    • Rendering Tokens
    • Validating CSRF Tokens
    • Conditionally Rendering Sections
  •   Section 16: Master Project: CRUD Transactions
    • Designing the Transactions Table
    • Understanding Database Relationships
    • Adding Foreign Keys
    • Preparing the Create Transaction Page
    • Validating Transactions
    • Validating Maximum Character Length
    • Validating Numbers
    • Validating Dates
    • Creating a Transaction
    • Retrieving Transactions
    • Formatting Dates with SQL
    • Query Parameters
    • SQL LIKE Clause
    • Filtering Transactions
    • Escaping the Search Term
    • SQL Limit Clause
    • Limiting Results
    • Previous Page Link
    • Next Page Link
    • Page Number Links
    • Preparing the Edit Route
    • Replacing Strings with Regular Expressions
    • Extracting Route Parameter Values
    • Edit Transaction Template
    • Updating a Transaction
    • Overriding HTTP Methods
    • Deleting a Transaction
  •   Section 17: Master Project: Handling File Uploads
    • Preparing the Receipt Controller
    • Encoding File Data
    • Exercise: Creating a Receipt Service
    • Validating a File Upload
    • Validating File Sizes
    • Validating Filenames
    • Validating File Mime Types
    • Generating a Random Filename
    • Moving Uploaded Files
    • Designing the Receipts Table
    • Storing the Receipt
    • Displaying Receipts
    • Validating the Download Request
    • Downloading Files
    • Deleting a Receipt
  •   Section 18: Master Project: Everything Else
    • Magic Numbers
    • Destroying Session Cookies
    • Rendering a 404 Page
  •   Section 19: Master Project: Deployment
    • Configuring a Server
    • Understanding Deployment
    • Configuring an Application
    • Setting up our Project
    • Conclusion
  •   Where To Go From Here?
    • Thank You!
    • Review This Course!
    • Become An Alumni
    • Learning Guideline
    • ZTM Events Every Month
    • LinkedIn Endorsements

Taught by

Luis Ramirez Jr

Reviews

Start your review of PHP Development Bootcamp: Zero to Mastery

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.