Tags
Language
Tags
June 2025
Su Mo Tu We Th Fr Sa
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 1 2 3 4 5
    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