Tags
Language
Tags
January 2025
Su Mo Tu We Th Fr Sa
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
SpicyMags.xyz

Modern Php: The Complete Guide

Posted By: ELK1nG
Modern Php: The Complete Guide

Modern Php: The Complete Guide
Published 3/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 51.33 GB | Duration: 43h 54m

Master the programming language that powers the web: Learn PHP and kickstart a lucrative web developer career

What you'll learn

Kickstart your tech career: Learn PHP, the language that powers more than 75% of websites, to land your first job, become a well-paid freelancer or get promoted

Learn modern PHP: PHP has changed a lot. Master the modern way of writing PHP, and get ready to actually use it in the current workplace

Lay solid programming foundations: once you know PHP, learning other languages will become much easier

Focus on building: Together, we will create simple websites, image galleries, login systems and even a fully fledged content management system (CMS)

Grasp the 'why' behind PHP: Only the most sought-after web developers know this

Learn with fun and interactive exercises: never forget the fundamental PHP concepts and applications

Master the MVC framework: Develop your own MVC framework, which enables you to write large-scale web applications and charge higher prices for your projects

Become a master debugger: learn how to debug even the most complex PHP errors and make your application 100% secure

Requirements

A laptop with a running OS (Windows / Mac / Linux)

No prior PHP knowledge is required

Basic HTML and CSS knowledge is advantageous, but there is still a basic refresher provided

Motivation to learn PHP :)

Description

*** Learn the modern way of writing PHP *** with 30 interactive exercises ***Are you looking for an interactive, step-by-step program to master modern PHP and kickstart your career as a web developer in 2024? Then read on.Many say that PHP is dead. But the truth is, PHP still powers 75% of online web applications today. This means that if you're looking to get a job as a web developer, or start a lucrative freelance career, you will encounter PHP.The problem is, many courses focus on an old way of writing PHP, which is becoming outdated in the market. Following these programs will just make you frustrated because the code won't scale and will be difficult to maintain. You won't learn the required practices needed to build big-scale web applications, and therefore will never be able to kickstart a fulfilling career as a PHP developer.This program aims to change that.I designed this course to help you master PHP, step by step from beginner to pro, but in a way how it's written nowadays. We'll focus on mastering the concepts that can get you from 0 to building a simple content management system (CMS) with your own framework.We will start with simple PHP code, but step by step, we'll introduce additional, concepts that turn PHP into a modern, powerful language: Object oriented programming, namespaces, autoloading, PSR-4, inheritance, PDO, MVC framework - just to name a few. Also, you will learn about best-practices that help you prevent security attacks. You will learn how to prevent cross-site-scripting (XSS) attacks, SQL injections, privilege escalation attacks and even more. Being aware and being able to mitigate those risks is essential if you want to become a sought-after freelancer or an in-demand senior developer that companies can rely on.And mind you, this course isn't just be theoretical. The chapters are packed with practical examples, engaging quizzes, and real-world scenarios that will make this experience fun and engaging. Plus, at the end of the course, you will also have built several projects you can showcase and use in your portfolio!Last but not least, you will also learn the 'why' behind PHP - so that you feel confident to go out there and apply this knowledge to real-life projects.So, after this course you will also be able to master various development styles. This course covers it all:From simple PHP scripts for smaller projectsOver object oriented scripts for medium-sized projectsUp to MVC-Frameworks for large-scale projectsThis allows you to develop professionally and know when you should use which style.Some things you will learn:PHP basicsHow to run file uploadsHow a web server worksHow to access a database and write a guestbookHow to embed PHP in HTMLFunctions, arrays, strings, if conditions,…Control a database (MySQL / phpmyadmin)How to create simple websites with PHP scriptsHow to create an image gallery with upload functionalityHow to write a CMS with object orientation & MVC patternsCookies & Sessions: Create a login system (and a cookie notice)Learn how to keep track of complex projects with advanced PHP features (namespaces, autoloading, PSR-4, MVC patterns, container patterns, inheritance, …)The german version of this course is already the most popular PHP course on the German market here on Udemy. With this enhanced, english version, I'm opening this knowledge to the international market. Enroll now and get your foot in the exciting world of web development!

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Install XAMPP (Windows)

Lecture 3 Install Visual Studio Code (Windows)

Lecture 4 Install XAMPP (macOS)

Lecture 5 Important fix: XAMPP (macOS)

Lecture 6 Install Visual Studio Code (macOS)

Section 2: First Steps with PHP - Build a dynamic Restaurant Website

Lecture 7 Overview

Lecture 8 A first PHP file and the `echo` command: Display text on a website

Lecture 9 The Basics of Text Generation with PHP: Create dynamic background colors

Lecture 10 The `include` command: Combine multiple PHP files

Lecture 11 Variables in PHP: Store and access data dynamically

Lecture 12 Project: Multi-Page Restaurant Website (Introduction)

Lecture 13 Project: Multi-Page Restaurant Website (Refactoring)

Lecture 14 Project: Multi-Page Restaurant Website (Displaying Data & Exercise)

Lecture 15 Project: Multi-Page Restaurant Website (Sample Solution; Adding another Page)

Lecture 16 How to deal with Error & Warning Messages in PHP?

Section 3: Data Types & Logic Essentials - Craft Conditional Responses with if/else

Lecture 17 Overview

Lecture 18 Strings within Single Quotes & Combine Strings with the Dot (`.`) Operator

Lecture 19 Strings within Double Quotes: Utilize Variable Substitution & Special Characters

Lecture 20 Numbers

Lecture 21 Introduction: Coding Exercises in this course

Lecture 22 Tips for Coding Exercises

Lecture 23 The `var_dump` function: Inspect Variables

Lecture 24 Booleans & Comparison Operators: Compare Values

Lecture 25 The `if` statement: Direct Conditional Control Flows

Lecture 26 The `else if` and `else` clauses: Expand Decision-making Options

Lecture 27 The `isset`, `empty` and `unset` functions: Validate and Delete Variables

Lecture 28 Alternative Syntax in PHP: Enhance Clarity in HTML Integration

Lecture 29 Boolean Operators: Craft More Complex Conditions with `!`, `&&`, `||`, `XOR`

Lecture 30 Project: Restaurant Website Refinement (Exercise Instructions)

Lecture 31 Restaurant Website Refinement (Sample Solution; dynamic titles and images)

Lecture 32 Restaurant Website Refinement (Sample Solution; fixing the active menu)

Section 4: Arrays & the foreach Loop - Store, Manipulate and Use Data Sets Efficiently

Lecture 33 Motivation

Lecture 34 Create an Array and Access its Elements

Lecture 35 Test the Existence of specific Keys and Values in Arrays

Lecture 36 Change, Delete and Append Elements to an Array

Lecture 37 Giveaway Example: Select Winners from a List Randomly

Lecture 38 Array Functions: Find Duplicate Elements and Sort Arrays

Lecture 39 The `foreach` Loop: Iterate over Elements in an Array

Lecture 40 Control Loops with `break` and `continue`

Lecture 41 Additional Array Functions

Section 5: Associative Arrays - Manage Key-Value-Pairs for Advanced Data Handling

Lecture 42 Overview

Lecture 43 Motivation & Define an Associative Array

Lecture 44 Manipulate and Output Keys and Values form Associative Arrays

Lecture 45 Best Practices for Managing Associative Arrays

Section 6: URL Parameters - Capture and Utilize Inputs for Secure, Dynamic Web Interactions

Lecture 46 Overview

Lecture 47 The short `if` Statement

Lecture 48 The `$_GET` Array: Retrieve User Input from the URL

Lecture 49 Dynamic URL Creation: Craft Links with Parameters and `http_build_query`

Lecture 50 Submit a form through GET

Lecture 51 Submit a form through POST

Lecture 52 Securing Websites: Prevent Cross-Site Scripting (XSS) with `htmlspecialchars`

Lecture 53 Project: Secure Recipe App (Introduction & Setup)

Lecture 54 Project: Secure Recipe App (Secure Input Handling & Exercise)

Lecture 55 Project: Secure Recipe App (Sample Solution)

Section 7: PROJECT - Build a Multi-Page Image Gallery

Lecture 56 Overview & Code Base Walkthrough

Lecture 57 The `rawurlencode` function: Ensure Safe Data Transmission in URLs (Hint)

Lecture 58 CSS Attributes for Image Control: `object-fit` and `aspect-ratio` (Hint)

Lecture 59 Project: Image Gallery - Part 1 (Display the Images in a Gallery View)

Lecture 60 Project: Image Gallery - Part 2 (Design the Gallery Layout)

Lecture 61 Project: Image Gallery - Part 3 (Implement the Image Page Contents)

Section 8: Advanced Concepts - Variable Types, Including Files and String Functions

Lecture 62 Overview

Lecture 63 Type Checking: Identify Types with `is_` Functions & Manage Mixed-Type Arrays

Lecture 64 Type Casting: Solve Type Mismatches and Debug Code Errors Efficiently

Lecture 65 The Null Coalescing Operator: Simplify Default Value Assignments

Lecture 66 The @ Symbol: Silence PHP Warnings

Lecture 67 Optimizing `include`: Use __DIR__ for Reliable File Path Resolution

Lecture 68 File Inclusions: `include`, `require`, and their `*_once` Variants

Lecture 69 The functions `file_get_contents` and `readfile`

Lecture 70 The `implode` and `explode` functions: Split Strings and Merge Arrays

Lecture 71 String Functions - Part 1 (`strlen`, `strtolower`, `trim`, `strpos`,…)

Lecture 72 String Functions - Part 2 (`nl2br`, `str_replace`)

Lecture 73 The index.php File: Directory Indexing and File Recognition on Webservers

Section 9: Nested Arrays - Simplify Complex Data Handling

Lecture 74 Overview

Lecture 75 Define a Nested Array and Access Multi-Level Data

Lecture 76 Extract Data from Nested Arrays by `foreach` Loops

Lecture 77 Navigate Multi-Level Data with Nested `foreach` Loops

Lecture 78 Deal with Irregular Data in Nested Arrays

Section 10: PROJECT - Build an Air Quality Data Browser

Lecture 79 Overview

Lecture 80 Processing the Air Quality Data: Decode JSON & Handle .bzip2 Compression

Lecture 81 Transforming JSON Data into Web Content: Create Dynamic City Links

Lecture 82 Crafting City Statistics Pages: Retrieve Data & Handle Errors

Lecture 83 Analyzing PM2.5 Data: Calculate Air Quality Index

Lecture 84 Manage Data Integrity & Integrate Additional Measurement Parameters (PM10)

Lecture 85 Polishing the Output: Add Numeric Formatting and Measurement Units

Lecture 86 Integrating Chart.js with PHP - Part 1 (Build Interactive Visual Charts)

Lecture 87 Integrating Chart.js with PHP - Part 2 (Implement Robust Data Transfer)

Lecture 88 Ensuring Data Integrity: Deal with Missing Data

Section 11: for and the while Loops - Achieve Finer Control Over Iterations

Lecture 89 Overview

Lecture 90 The `for` loop: Repeat Actions and Manage Iterations

Lecture 91 The `while` loop: Execute Code with Conditional Repeats and Avoid Infinite Loops

Section 12: PROJECT - Build an Auto-Update Travel Showcase (and Explore File Systems)

Lecture 92 Overview

Lecture 93 Utilize `opendir`, `readdir`, and `closedir` for Directory Management

Lecture 94 Using `readdir` in a while Loop: Read File Directories Efficiently

Lecture 95 The `pathinfo` function: Extract File Path Components for Filtering File Types

Lecture 96 File Functions: `file_exists`, `is_file`, `is_dir`, `filemtime`, `filesize`,…

Lecture 97 Integrate Images with Descriptive Texts (Exercise Instructions)

Lecture 98 Read Text Data for Image Descriptions (Sample Solution - Part 1)

Lecture 99 Organize and Process Text Data Effectively (Sample Solution - Part 2)

Lecture 100 Render Text Data on the Website (Sample Solution - Part 3)

Section 13: Intro to MariaDB/MySQL Databases in phpMyAdmin - Standardize Data Management

Lecture 101 Overview

Lecture 102 Foundations: From Excel Spreadsheets to Database Tables

Lecture 103 First steps with phpMyAdmin: Create new Databases and store Data

Lecture 104 Primary Keys: Ensure Data Integrity with unique ID Columns

Lecture 105 Auto_Increment: Generate unique IDs with ease

Lecture 106 Export & Import Files in phpMyAdmin

Section 14: Database Interactivity - Connect to MySQL/MariaDB from PHP

Lecture 107 Overview

Lecture 108 Setting up the Database and Table for the Notes App

Lecture 109 Object Orientation in PHP: Manage Zip Files with Methods (Crash course)

Lecture 110 Database Connections with PDO: Initialization & Best Practices

Lecture 111 Troubleshooting: Database Connections with PDO

Lecture 112 Data Retrieval with PDO: Fetch Data from a Database

Lecture 113 Rendering Fetched Data as HTML: Enhance Readability and Security

Lecture 114 SQL Query Basics: Utilize the ORDER BY Clause and SELECT Specific Columns

Lecture 115 Filter Data with the WHERE Clause and Fetch Individual Entries with PDO

Lecture 116 Secure Parameter Handling in PDO: Prevent SQL Injection with Bind Methods

Lecture 117 Insert Data Securely with INSERT INTO, Placeholders, and the `bindValue` Method

Lecture 118 Database Manipulation: Using UPDATE and DELETE FROM Securely

Lecture 119 Prevent Leakage of Database Connection Information in older (<=8.1) PHP Versions

Lecture 120 Choosing the Charset: Ensure Compatibility with with utf8mb4 encoding

Section 15: PROJECT: Build the Design for a Diary App

Lecture 121 Overview

Lecture 122 Design Files

Lecture 123 Starting with the Design

Lecture 124 Adding the Logo

Lecture 125 Create the "New Entry" Button

Lecture 126 Position the Button

Lecture 127 Implement the Main Area

Lecture 128 Create a Container

Lecture 129 Design the Layout of the Card (Part 1)

Lecture 130 Design the Layout of the Card (Part 2)

Lecture 131 Design the Layout of the Card (Part 3)

Lecture 132 Responsive Design

Lecture 133 Implement the Pagination

Lecture 134 Finish the Pagination

Lecture 135 Add the Background (Part 1)

Lecture 136 Add the Background (Part 2)

Lecture 137 Add the Footer

Lecture 138 Develop the Form (Part 1)

Lecture 139 Develop the Form (Part 2)

Lecture 140 Finishing Touches

Section 16: PROJECT: Build a Diary App

Lecture 141 Overview

Lecture 142 Create the DataBase

Lecture 143 Fetch Data from the DataBase

Lecture 144 The form Page

Lecture 145 Submit Data into the DataBase

Lecture 146 Add Pagination

Lecture 147 Generate Links

Lecture 148 Dates (Part 1)

Lecture 149 Dates (Part 2)

Lecture 150 Format the Dates

Lecture 151 Upload Files (Part 1)

Lecture 152 Upload Files (Part 2)

Lecture 153 How to Scale an Image?

Lecture 154 Resize an Image and Upload

Lecture 155 Implement Image Upload

Lecture 156 Catch Invalid Uploads

Section 17: Headers in PHP - Control Server Communication

Lecture 157 Overview

Lecture 158 The `$_SERVER` Array: Gain Insights about the Server running your PHP Script

Lecture 159 HTTP Headers: Examine Browser to Server Communication

Lecture 160 HTTP Headers: Examine Server to Browser Communication

Lecture 161 Content-Type Header Example: Dynamically Serve CSS with PHP

Lecture 162 Output Buffering: Avoid Header Issues and Ensure Seamless File Transmissions

Lecture 163 Content-Disposition and Content-Length Header: Implement File Downloads

Lecture 164 Location Header: Redirect Users to Files

Lecture 165 Example: Build a Newsletter Sign-Up Page using Location Headers

Lecture 166 Decipher HTTP Status Codes: Success and Errors

Lecture 167 Project: Craft a Custom 404 Error Page (Part 1)

Lecture 168 Project: Create a Custom ErrorDocument (Part 2)

Section 18: Functions - Customize Operations For Reusable Code

Lecture 169 Overview

Lecture 170 Declare and Invocate Custom Functions

Lecture 171 Function Contexts and Parameter Passing: Transfer Data into Functions

Lecture 172 Multiple Parameters & Default Values: Configure Functions

Lecture 173 The `return` Statement: Extract Function Output

Lecture 174 Multiple `return` Statements: Control Function Output

Lecture 175 The `null` Type: Represent Missing Values

Lecture 176 Function Redefinition: Best Practices

Lecture 177 Example: Handling File Sizes with a Divide & Conquer Strategy

Section 19: Typed Functions - Write More Reliable and Precise Code

Lecture 178 Overview

Lecture 179 Typed Functions: Secure & Document your Code

Lecture 180 Union Types: Enable Multiple Parameter Types

Lecture 181 Return Types: Enforce Reliable Function Outputs

Lecture 182 Nullable Types: Allow for Missing Values as Parameters

Lecture 183 Strict Types: Enforce Accurate Type Handling

Section 20: PROJECT: Build a Name Explorer App

Lecture 184 Overview

Lecture 185 Import the Data

Lecture 186 Connect to DataBase

Lecture 187 Navigation in the Header

Lecture 188 List the names

Lecture 189 DB Query in function

Lecture 190 Move Function to a separate File

Lecture 191 Solution: Develop the Name View

Lecture 192 Polishing

Lecture 193 DB query for overview

Lecture 194 Generate an Overview Page

Lecture 195 Output Buffering

Lecture 196 Create a `render()` function

Lecture 197 Passing Data into the `render()` function

Lecture 198 Use the `render()` function

Lecture 199 Highlight the Letter

Lecture 200 Add Pagination (Part 1)

Lecture 201 Add Pagination (Part 2)

Lecture 202 Important: Improve DB performance with indexes

Lecture 203 Important: Improve groupby performance

Lecture 204 Fix a Bug

Section 21: Regular Expressions (Regex): Harness Pattern-Based Text Processing

Lecture 205 Overview

Lecture 206 Intro to Regex: Search Patterns in Strings

Lecture 207 Quantifiers: Control Repetitions for Powerful Pattern Matching

Lecture 208 The `^` & `$` Anchors: Define String Boundaries

Lecture 209 Bracket Expressions (Theory): Craft Custom Character Sets and Ranges

Lecture 210 Bracket Expressions in Practice

Lecture 211 Capture Groups: Extract Structured Data Elements

Lecture 212 Text Transformations: Pattern-Based Edits with `preg_replace`

Section 22: Foundations of Object-Orientated Programming (OOP): Enhance your Code Structure

Lecture 213 Overview

Lecture 214 Limitations of Procedural Approaches: Setting the Stage for OOP

Lecture 215 Classes in OOP: Create Custom Objects

Lecture 216 Properties in a Class: Typing, Initialization, and Management

Lecture 217 Class Methods: Define Behavior within Objects

Lecture 218 Constructors: Ensure Proper Initialization of Object Properties

Lecture 219 Simplifying Constructors: Efficient Initialization & Business Logic Integration

Lecture 220 Example: Implement a Transfer Method for Transactions Between Bank Accounts

Lecture 221 Securing Class Properties: From Public to Private Access

Section 23: PROJECT: Build a City Explorer

Lecture 222 Overview

Lecture 223 Create the Model Class

Lecture 224 Add a Repository

Lecture 225 Fetch Additional Columns

Lecture 226 Show an individual City

Lecture 227 Optimize the Code

Lecture 228 Country to Flag Symbol (Bonus)

Lecture 229 Add Flag to the Project

Lecture 230 Implement Pagination (Exercise)

Lecture 231 Implement Pagination (Solution)

Lecture 232 Implement a Form

Lecture 233 Update Entries

Lecture 234 Add Password Protection (Bonus)

Section 24: OOP (Part 2): Organize Code with Namespaces, Autoloading, Interfaces

Lecture 235 Overview

Lecture 236 Namespaces in PHP: Organize Code and Avoid Naming Collisions

Lecture 237 The `use` command: Simplify PHP Code with Namespaces

Lecture 238 Class Names and Namespaces: Access, Resolution, and Instance Verification

Lecture 239 Autoloading: Load Classes and Manage Namespaces Efficiently

Lecture 240 Advanced Namespacing : Adopt PSR-4 Autoloading

Lecture 241 Interfaces: Define and Implement for Enhanced Type Safety and Reusability

Section 25: PROJECT: Build a Weather App

Lecture 242 Overview

Lecture 243 Implement the App Frame

Lecture 244 Show the Background

Lecture 245 Implement the Top Bar

Lecture 246 Visualize the Weather

Lecture 247 Show the Weather Info

Lecture 248 Final Polishing

Section 26: OOP (Part 3): Reuse Code For Scalability with Inheritance

Lecture 249 Overview

Lecture 250 Intro to Inheritance: Extend Functionality From Parent Class

Lecture 251 Set Up the Child Class Constructor for Effective Object Initialization

Lecture 252 Inheritance & Property Accessibility: Navigate Properties Across Classes

Lecture 253 Property Visibility: Private and Protected Properties for Secure Data Handling

Lecture 254 The `parent` & `self` keywords: Precisely Reference Class Methods

Lecture 255 Abstract Classes: Enforce Method Implementation for Reliable Code

Section 27: PROJECT: Build a Content Management System (Part 1) - Foundation

Lecture 256 Overview: Initial Setup

Lecture 257 Develop the NotFoundController

Lecture 258 Implement the Error Page

Lecture 259 Overview: PagesController

Lecture 260 Initiate the PagesController

Lecture 261 Set up the Database

Lecture 262 Create the PageModel and the PagesRepository

Lecture 263 Add the 'About us' Page & Handle Errors

Lecture 264 Render the Navigation Bar

Section 28: The Container Pattern: Streamline Dependency Management

Lecture 265 Overview

Lecture 266 Optimize Dependency Injection with Container Strategies

Lecture 267 The `use` keyword: Weave external Data into Closures

Lecture 268 Refactor the Container with an Instances Array

Lecture 269 Refactor the Container with Unified Instance Creation

Lecture 270 Implement a Recipes Array for Dynamic Instance Creation

Lecture 271 Register the Recipes for Instance Creation outside the Container

Lecture 272 Secure Instance Creation with Private `bind()` Functions

Lecture 273 Enhanced Code Modularity: Utilize Return Values in File Inclusion

Section 29: PROJECT: Build a Content Management System (Part 2) - Container Pattern

Lecture 274 Utilize the Container Pattern in the CMS

Section 30: PROJECT: Build a Content Management System (Part 3) - Admin Area

Lecture 275 Create the Admin Menu

Lecture 276 Change the Colors in the Admin Area with CSS Variables (Bonus)

Lecture 277 Add the PagesRepository to the PagesAdminController (Exercise)

Lecture 278 Create the Overview Page for the Admin Area

Lecture 279 Implement the Create Form for the Admin Area

Lecture 280 Add Input Validation & Error Handling to the Create Form

Lecture 281 Implement the Delete Functionality (Part 1)

Lecture 282 Implement the Delete Functionality (Part 2)

Lecture 283 Style Buttons as Links (Bonus)

Lecture 284 Implement the Edit Feature (Exercise)

Lecture 285 Implement the Edit Feature (Solution Part 1)

Lecture 286 Implement the Edit Feature (Solution Part 2)

Section 31: Cookies & Sessions: Manage and Safeguard User Data

Lecture 287 Overview & Named Arguments

Lecture 288 The `setcookie()` Function: Create Cookies in PHP

Lecture 289 Additional Parameters for `setcookie()`: Manage Cookies in PHP

Lecture 290 Sessions in PHP: Secure Data with the `$_SESSION` Variable

Lecture 291 Implement a Cookies Message (Bonus)

Section 32: PROJECT: Build a Content Management System (Part 4) - Authentication System

Lecture 292 Overview

Lecture 293 How to Safely Store a Password

Lecture 294 Set up the Users Table

Lecture 295 Create the Login Form

Lecture 296 Validate the Login with the LoginController

Lecture 297 Store the Login within the Session

Lecture 298 Ensure Login with the authService

Lecture 299 Prevent Starting Sessions Multiple Times

Lecture 300 Implement the Logout Feature

Lecture 301 Intro to Cross-Site Request Forgery (CSRF)

Lecture 302 Protect against CSRF with Tokens (Part 1)

Lecture 303 Protect against CSRF with Tokens (Part 2)

Lecture 304 Protect against CSRF with Tokens (Part 3)

Lecture 305 Conclusion of the CMS Project

Section 33: OOP (Part 4): Dive into Advanced Topics for More Robust and Maintainable Code

Lecture 306 Overview

Lecture 307 Static Methods & Variables: Invoke Class Behavior & Share Data Without Instances

Lecture 308 Constants: Define Global Options & Class-Attached Values with `define` & `const'

Lecture 309 The Singleton Pattern: Ensure a Single Instance Throughout Your App

Lecture 310 Magic Methods: Enhance Object Interaction and Property Management

Lecture 311 ArrayAccess & Countable: Emulate Arrays with Interfaces

Lecture 312 Exception Handling: Safeguard Functions with Try-Catch Mechanisms

Lecture 313 Custom Exceptions: Craft Precision Error Handling

Section 34: Apache's `mod_rewrite`: Rewrite URL Requests (optional)

Lecture 314 Overview: Cleaner URLs with `mod_rewrite` in Apache

Lecture 315 Configuration of `mod_rewrite`: Direct Images with Conditions and Exceptions

Lecture 316 URL Handling with PHP and Apache: Redirect Requests

Lecture 317 Exploring the `mod_rewrite` Documentation

Section 35: String Encodings - Understand Multilingual Strings & Database Collations

Lecture 318 Overview

Lecture 319 Multibyte Characters: Measure String Lengths Accurately with `mb_strlen`

Lecture 320 Advanced Multibyte String Functions: `mb_substr`, `mb_strpos`, `mb_ord`,…

Lecture 321 Unicode Complexities: Safeguard Your Web Apps from Hidden Characters

Lecture 322 Bonus: Intro to the symfony/string package

Lecture 323 Convert non-UTF-8 strings with `mb_convert_encoding`

Lecture 324 Database Encodings: The Critical Role of utf8mb4 in MySQL

Lecture 325 Collations in MySQL: Uncover the Impact on Sorting and Searching

Section 36: Refresher: Jumpstart or Revisit HTML & CSS Basics (optional)

Lecture 326 Intro to HTML: Headings, Paragraphs & Anchor Tags

Lecture 327 Inline Elements vs Block Elements: Shape your Content

Lecture 328 Intro to CSS: Change the Style of an HTML Element

Lecture 329 From Inline Styles to CSS Files: Enhance Flexibility and Control

Lecture 330 CSS Selectors: Select Elements by `id` and `class`

Lecture 331 More Complex Selectors: Target Elements Precisely

Lecture 332 The Block Model: Create Layouts with CSS

Lecture 333 Embed Images and Style Inline-Block Elements

Lecture 334 Structure HTML Pages with divs, spans, and Semantic Tags like header

Section 37: Outlook: How To Expand Your PHP Horizon

Lecture 335 Advanced Development with Packagist, Composer, and Frameworks (Symfony, Laravel)

Lecture 336 Exploring Ready-Made Solutions: phpBB, Shopware, and Wordpress

Lecture 337 PhpStorm: Optimize Your PHP Development Environment

Lecture 338 Final Words

Beginners: This course is the perfect solution for beginners looking to become experts in PHP thanks to its easy-to-follow exercises and self-paced structure,Intermediate Users: If you already have some experience, you can benefit from delving deep into more complex topics like object-oriented programming, APIs and SQL queries,Web Developers: Learn the programming language that can help you increase your prices, land exciting job opportunities or advance in your career in 2023,Enthusiasts & Hobbyists: PHP is the perfect language to build exciting projects, launch servers and start your next applications