Welcome to the "PHP Concepts" repository, a comprehensive collection of essential PHP topics and concepts designed to deepen your understanding of the language. Inspired by the popular repository 33-js-concepts by Leonardo Moura, this project follows the structured format pioneered by him. Our goal is to provide concise explanations and curated resources for mastering PHP development. Whether you're a novice seeking to grasp the fundamentals or an experienced developer looking to expand your knowledge, you'll find valuable articles and videos covering a wide range of PHP concepts. From basic data types and control structures to advanced topics like memory management and opcode optimization, each concept is explained in a clear and straightforward manner. Explore this repository to enhance your PHP skills and consider contributing to make it even better!
Feel free to contribute! This repository thrives on community involvement. Whether you have new articles and videos to share, spot errors that need fixing, or want to suggest improvements, your contributions are highly valued. Join us in making "PHP Concepts" the go-to resource for PHP developers worldwide. Let's learn and grow together
- Basics and Foundations
- Intermediate Concepts
- 7. Classes and Objects
- 8. Visibility (Public, Private, Protected)
- 9. Constructors and Destructors
- 10. Inheritance
- 11. Interfaces
- 12. Abstract Classes
- 13. Traits
- 14. Static Methods and Properties
- 15. Namespaces
- 16. Type Declarations
- 17. Anonymous Functions and Closures
- 18. Type Hinting and Return Types
- 19. Regular Expressions (PCRE)
- 20. Variable Handling Functions
- Advanced Features and Functional Programming
- PHP 8 Features and Modern Practices
- 31. Attribute Annotations (PHP 8)
- 32. Constructor Property Promotion (PHP 8)
- 33. Union Types (PHP 8)
- 34. Match Expressions (PHP 8)
- 35. Nullsafe Operator (PHP 8)
- 36. Weak Maps (PHP 8)
- 37. Named Arguments (PHP 8)
- 38. Mixed Type (PHP 8)
- 39. Enums (PHP 8.1)
- 40. Fibers (PHP 8.1)
- 41. Readonly Properties and Classes (PHP 8.1)
- 42. Intersection Types (PHP 8.1)
- Performance and Internals
- 43. Just-In-Time Compilation (JIT)
- 44. Preloading
- 45. Weak References
- 46. Memory Management
- 47. Zval and Reference Counting
- 48. Opcode Cache
- 49. Zend Engine Internals
- 50. Symbol Table
- 51. Garbage Collection
- 52. Request Lifecycle
- 53. Extension Development
- 54. Streams and Network Programming
- 55. Session Handling Internals
- 56. PHP-FPM (FastCGI Process Manager)
- 57. Interned Strings
- 58. Abstract Syntax Tree (AST)
- 59. Compilation and Execution
- 60. Server API (SAPI)
- 61. Persistent Connections
- 62. PHP Standard Library (SPL) Internals
- 63. Dynamic and Static Scoping
- 64. Type System
- 65. Function and Method Resolution
- 66. Security Mechanisms
- 67. PHP Binary Protocols
- 68. Profiling
- 69. Network Internals
- 70. Connection Pooling
- Variables In PHP | Procedural PHP Tutorial For Beginners | PHP Tutorial | mmtuts
- PHP Data Types - Typecasting Overview & How It Works - Full PHP 8 Tutorial
- PHP Variable and Data Type Tutorial
- Control Structures in PHP: Conditional Statements and Loops
- PHP Control Structures
- PHP Control Structures and Loops: if, else, for, foreach, while, and More
- Conditions & Control Structures in PHP
- Control Structures in PHP - Conditional Statements - if/else
- How to Use and Create Loops in PHP
- How to Create Arrays in PHP | Indexed & Associative Arrays
- Arrays & Array functions
- PHP Array Functions (Playlist)
- String Manipulation in PHP
- Strings & String functions
- PHP 101 - String Functions
- Ultimate Guide to the Most Useful String Functions in PHP
- Exceptions
- PHP Try Catch: Basics & Advanced PHP Exception Handling Tutorial
- Modern Error handling in PHP
- PHP 8.0: Expressions can now throw Exceptions
- PHP 8.0 : throw as an expression
- PHP Error Handling & Error Handlers - Full PHP 8 Tutorial
- OOP Error Handling In PHP - Exceptions & Try Catch Finally Blocks - Full PHP 8 Tutorial
- How to Log Errors in PHP | PHP Error Reporting and Debugging
- Object Oriented PHP Tutorials (Playlist)
- PHP Classes & Objects - Typed Properties - Constructors & Destructors
- OOP In PHP | Object Oriented Programming In PHP
- Visibility
- PHP OOP - Access Modifiers
- What is the difference between public, private, and protected in PHP?
- Object Oriented PHP - Access Modifiers
- What is the difference between public, private, and protected php7
- Using Public, Private and Protected Variables
- Constructors and Destructors in OOP PHP
- Object Oriented PHP - Constructors
- Constructors and Destructors in PHP
- PHP OOP - Inheritance
- Inheritance in PHP: Understanding Inheritance With Examples
- What is Inheritance in PHP?
- Object Oriented PHP - Inheritance
- Inheritance for beginners - OOP in PHP
- Composition vs Inheritance in PHP With Practical Examples - Full PHP 8 Tutorial
- PHP: Abstract Classes and Interfaces
- UNDERSTANDING ABSTRACT CLASSES AND METHODS IN PHP
- Abstract vs Interfaces Classes in PHP
- PHP Abstract Classes - Tutorial for Beginners
- Abstract Classes in OOP PHP | Abstract Explained
- Abstract classes, abstraction in PHP - OOP in PHP
- OOP PHP | What is Traits and Why we need it
- PHP traits in depth with examples - OOP in PHP
- PHP Traits - How They Work & Drawbacks - Full PHP 8 Tutorial
- Static Properties And Methods In OOP PHP
- Static properties and methods in PHP - OOP in PHP
- OOP PHP | Static Methods and Properties
- PHP Namespace Tutorial - Full PHP 8
- PHP namespaces 1/10: What is a namespace in PHP?
- Everything about PHP namespaces - OOP in PHP
- A Beginner's Guide to Closures and Arrow Functions in PHP
- PHP and Closures: Anonymous Functions and Variable Scoping
- The power of Anonymous functions (Closures) in PHP
- Anonymous Functions
- Anonymous Functions & Closures
- Variable, Anonymous, Callable, Closure & Arrow Functions In PHP
- Reducing Errors With Type Hinting in PHP
- Type hint in PHP function parameters and return values, properties and constants
- PHP 8.0 feature focus: type improvements
- Example: Why We Need PHP Return Types
- Type Declarations In OOP PHP | Type Hinting In PHP
- Type Hinting - Object Oriented PHP
- Regular Expressions (RegEx) in 100 Seconds
- PHP Regular Expressions Tutorial
- Functions Using Regular Expressions
- Variable handling Functions - php.net
- PHP Variable Handling Functions - Tutorials point
- PHP Variable Handling Functions - php.org
- What are magic methods and how to use them in PHP ?
- PHP Magic Methods - PHP Tutorial
- PHP Magic Methods - Tutorials point
- OOP PHP | Late Static Binding
- Level up Your PHP Skills: Mastering Late Static Binding
- What Is Late Static Binding & How It Works In PHP
- PHP Reflection API: Reflection Class
- Dependency Injection Container With & Without Reflection API Autowiring
- Understanding Dependency Injection
- Building a Simple Dependency Injection Container in PHP
- Playing with dependency injection in PHP
- Dependency Injection & DI Containers
- Dependency Injection in PHP | Create a Service Container from Scratch
- What is Dependency Injection PHP - in 5 Minutes
- Managing Sessions and Cookies in PHP
- What are the difference between session and cookies in PHP ?
- Difference Between Session and Cookies in PHP
- Session and Cookies in PHP
- Sessions & Cookies tutorial
- PHP Sessions & Cookies - Output Buffering - Headers Already Sent Warning
- PHP File Handling: Read, Write, and Upload Files
- Streams - php.net
- PHP - File Handling - Tutorials point
- PHP File Handling - Javatpoint
- A Guide to Streams in PHP: In-Depth Tutorial With Examples
- Working With File System In PHP
- PHP File Tutorial | File in PHP | PHP File Handling Tutorial
- How To Handling Files In PHP | file handling | php file handling
- PHP Standards Recommendations (PSRs)
- PHP Standards Recommendations
- Introduction to PSR (PHP Standard Recommendations) and How to Use Them
- Object Cloning
- Serializing objects - objects in sessions
- What is serialization in PHP
- PHP Object Cloning
- PHP - Object Cloning & Clone Magic Method
- PHP Serialize Objects & Serialize Magic Methods
- PHP Serialization Tutorial | Serialize and Unserialize PHP Objects
- PHP 8.0: Class constructor property promotion
- PHP 8: Constructor property promotion
- PHP 8 Constructor Property Promotion: Simplifying Class Definitions with Examples
- PHP 8's Constructor Property Promotion in Magento 2.4.4
- PHP 8 Constructor Property Promotion Explained
- Constructor Property Promotion - Nullsafe Operator
- PHP 8.0: Union Types
- A Guide to Union Types in PHP 8: Examples, Best Practices, and Benefits
- PHP 8 Union types
- PHP 8: the null safe operator
- PHP 8.0: Null-safe operator
- Mastering Null Safety in PHP 8: A Comprehensive Guide to Using the Null Safe Operator
- PHP 8 Named Arguments: Practical Example
- PHP Function Parameters - Named Arguments - Variadic Functions & Unpacking
- PHP 8 Named Arguments Explained
- PHP Fibers & Asynchronous Under 11 Minutes
- Learn how to use Fibers in PHP 8.1
- Learn how to use Fibers in PHP 8.1
- PHP 8.1: Readonly Properties
- PHP Readonly Properties: How to Use Them
- Readonly Classes in PHP: A Useful Addition to Readonly Properties
- PHP 8.1: Intersection Types
- PHP 8.1 : Pure intersection types
- How and When to Use PHP’s Pure Intersection Types
- Just In Time (JIT) Compilers - Computerphile
- How to enable JIT OR Just In Time Compilation in PHP8 | What is Just In Time Compilation
- JIT(Just In Time Compilation) VS interpreter in PHP | JIT VS interpreter performance Test in PHP8
- Preloading in PHP 7.4
- Preloading your PHP 7.4 project in one line
- https://blog.blackfire.io/php-preloading-and-performance-impact.html
- Memory management
- 11. PHP Memory Management
- Memory management¶
- 8 questions to the PHP memory usage
- Memory Management with PHP
- Tech Talk: Memory Usage in PHP - Dealing with Arrays
- Benoit Jacquemont - Hunting down memory leaks with PHP Meminfo - phpday 2019
- Reference Counting Basics
- Details of PHP 7.4 Reference Counting of Zvals
- PHP Object-Caching and Reference Counting
- Unlocking Faster Execution with PHP OpCode Caching for PHP Performance
- Opcode Caching
- How to Install and Configure OPcache With Your PHP App
- Zend engine
- PHP and Zend Engine Internals
- How zend engine compile php codes or How php compiler works?
- What Is Garbage Collection in PHP And How Do You Make The Most Of It?
- Better Understanding PHP’s Garbage Collection
- Garbage Collection Statistics
- Writing PHP Extensions
- PHP Extension - Create a Simple Extension and Set Up Development Environment
- Create PHP7 Extension, The Easy Way!
- A Guide to Streams in PHP: In-Depth Tutorial With Examples
- My Experience with PHP
- Understanding Streams in PHP
- FastCGI Process Manager (FPM) ¶
- PHP-FPM: The Future of PHP Handling
- PHP-FPM Performance Tuning: A Detailed Guide to Optimizing Your Web Applications
- PHP Internals Book
- How opcache works
- Checking OPcache, RealPath Cache, PCRE Cache and OPcache Interned Strings Buffer with Blackfire
- Nextcloud 23.02 OPcache interned strings buffer
- Abstract Syntax Tree
- PHP RFC: Abstract syntax tree
- Unlocking the Power of PHP with the Abstract Syntax Tree (AST)
- What Is An Abstract Syntax Tree, With WealthFront Engineer Spencer Miskoviak
- PHP UK Conference 2018 - James Titcumb - Climbing the Abstract Syntax Tree
- Understand Abstract Syntax Trees - ASTs - in Practical and Useful Ways for Frontend Developers
- PHP Code Execution Flow
- How does PHP interpreter works, How PHP is executed on server, PHP script execution explained step by step
- How a PHP interpreter works
- PHP, MySQL, and persistent connections
- Persistent Database Connections
- Persistent DB Connections - Yea or Nay?
- THE STANDARD PHP LIBRARY (SPL)
- A quiet peek through the PHP Standard Library (SPL)
- An Introduction to SPL, the Standard PHP Library
- Static and Dynamic Scoping (Part-1)
- Static and Dynamic Scoping (Part-2)
- Static and Dynamic Scoping (Part-3)
- Static and Dynamic Scoping (Part-4)
- Type System
- Everything you need (and don't need) to know about PHP's type system
- PHP 8 - Type System Improvements
- 8 Best PHP Security Practices You Should Know
- PHP Security 5: PHP Security Tips
- Ultimate PHP Security Best Practices
- PHP website security & Hacking prevention (Playlist
- PHP Security (Playlist)
- Improve PHP Application Performance With Database Connection Pooling
- Database connection Pooling PHP-CP Introduction
- How to reduce latency with Connection Pools
- PHP : Connection pooling in PHP
- MySQL : php connection pooling mysql