⚙️
PHP Tools Hub
Tools
PHP
Quick
Contact
Home
>
Tutorials
>
PHP
PHP Tutorials
Browse by category, subcategory, and child category.
PHP Introduction
View All
Overview
Definition
Full Form
History
Created By
Year 1994
PHP 3
PHP 4
PHP 5
PHP 7
PHP 8
Use Cases
Web Development
CLI Scripts
API Development
Desktop Apps
Advantages
Open Source
Cross Platform
Easy Learning
Community Support
Database Support
Hosting Support
Disadvantages
Security Issues
Not for Real Time
Inconsistent Names
No Multithreading
Comparison
vs JavaScript
vs Python
vs Node.js
vs ASP.NET
PHP Installation
View All
XAMPP
Download
Installation
Control Panel
htdocs Folder
phpMyAdmin
Localhost Access
WAMP
Download
Installation
www Folder
Tray Icon
phpMyAdmin
LAMP
Ubuntu Installation
Apache Start
MySQL Start
Web Root
MAMP
Download
Installation
Start Servers
htdocs Folder
Docker
PHP Image
Run Container
Docker Compose
Manual
Windows Download
Windows Extract
Add to PATH
Linux PPA
Linux Install
macOS Brew
Verification
Version Command
Info Function
Modules List
Configuration
php.ini File
Find php.ini
Common Settings
PHP Syntax
View All
Opening Tags
Standard Tag
Short Tag
Echo Short Tag
Script Tag
Closing Tags
Standard Closing
Omission
Whitespace Issue
Statements
Semicolon Required
Last Semicolon
Whitespace
Spaces Ignored
Tabs Ignored
Newlines Ignored
Case Sensitivity
Variables Case Sensitive
Functions Not Sensitive
Classes Not Sensitive
Constants Case Sensitive
Comments
Single Line
Single Line Hash
Multi Line
DocBlock
PHPDoc
PHP Variables
View All
Syntax
Dollar Prefix
Assignment Operator
Naming Rules
First Character
Next Characters
Reserved Keywords
Valid Examples
Simple Variable
With Underscore
With Numbers
Camel Case
Invalid Examples
Starting Number
Special Characters
Space in Name
Hyphen Character
Case Sensitivity
Different Variables
Common Mistake
Assignment
Value Assignment
Copy by Value
Copy by Reference
Variable Variables
Double Dollar
Complex Syntax
Variable References
Reference Operator
Reference Behavior
Variable Scope
Local Scope
Global Scope
Function Parameters
Static Variables
Global Keyword
GLOBALS Array
Variable Functions
isset Function
empty Function
unset Function
is_null Function
Predefined Variables
Superglobals
$GLOBALS Array
$_SERVER Array
$_GET Array
$_POST Array
$_FILES Array
$_COOKIE Array
$_SESSION Array
$_REQUEST Array
$_ENV Array
PHP Constants
View All
define Function
Syntax
Case Insensitive
Return Value
const Keyword
Syntax
Compile Time
Class Constants
Naming Conventions
Uppercase
No Dollar Sign
Scope
Global Scope
Function Scope
Constants vs Variables
No $ Sign
Global by Default
Cannot Change
Value Types
Checking Constants
defined Function
constant Function
constants Function
Magic Constants
__LINE__
__FILE__
__DIR__
__FUNCTION__
__CLASS__
__METHOD__
__NAMESPACE__
__TRAIT__
PHP Data Types
View All
String Type
Definition
Quotes
Heredoc
Nowdoc
Integer Type
Definition
Ranges
Decimal
Hexadecimal
Octal
Binary
Float Type
Definition
Also Called
Ranges
Precision
Boolean Type
Definition
Values
Case Insensitive
Truthy Values
Array Type
Definition
Indexed Array
Associative Array
Multidimensional
Object Type
Definition
Creation
Property Access
Method Call
NULL Type
Definition
Assignment
Case Insensitive
Unset Variable
Resource Type
Definition
Examples
Not Serializable
Type Checking
gettype Function
var_dump Function
print_r Function
debug_zval_dump
is_string Function
is_int Function
is_float Function
is_bool Function
is_array Function
is_object Function
is_null Function
is_resource Function
is_numeric Function
is_scalar Function
is_callable Function
is_iterable Function
is_countable Function
PHP Type Casting
View All
Explicit Casting
String to Integer
String to Float
String to Boolean
Integer to String
Integer to Array
Integer to Object
Array to Object
Object to Array
Casting Functions
intval Function
floatval Function
boolval Function
strval Function
Type Juggling
Automatic Conversion
String to Number
Number to String
settype Function
settype Usage
settype Example
Return Value
PHP Operators
View All
Arithmetic
Addition
Subtraction
Multiplication
Division
Modulus
Exponentiation
Assignment
Simple Assign
Add and Assign
Subtract and Assign
Multiply and Assign
Divide and Assign
Modulus and Assign
Exponent and Assign
Concatenate and Assign
Comparison
Equal Value
Identical
Not Equal Value
Not Equal Alternative
Not Identical
Greater Than
Less Than
Greater Than or Equal
Less Than or Equal
Spaceship
Null Coalescing
Ternary
Standard Ternary
Shorthand Ternary
Logical
AND
OR
XOR
NOT
String
Concatenation
Concatenation Assignment
Array
Union
Equal
Identical
Not Equal
Not Identical
Error Control
At Sign
Execution
Backticks
Instanceof
Type Check
PHP Control Structures
View All
if Statement
Basic Syntax
Example Code
if else
Basic Syntax
Example Code
elseif
Basic Syntax
Example Code
Nested if
Definition
Example Code
Alternative Syntax
if Colon Syntax
Usage
switch
Basic Syntax
break Keyword
default Case
Multiple Cases
match
PHP 8 Feature
Default Pattern
Strict Comparison
PHP Loops
View All
while Loop
Syntax
Example
Infinite Loop
do while Loop
Syntax
Example
for Loop
Syntax
Example
Multiple Variables
foreach Loop
Indexed Array
Associative Array
Reference Modifier
Object Iteration
break Statement
Basic Break
Break Level
continue Statement
Basic Continue
Continue Level
Alternative Syntax
for Endfor
while Endwhile
foreach Endforeach
PHP Include
View All
include Statement
Basic Usage
Warning Only
Return Value
include_once
Basic Usage
Prevent Duplicate
require Statement
Basic Usage
Fatal Error
require_once
Basic Usage
Prevent Duplicate
include_path
set_include_path
get_include_path
Return in Include
Return Value
Example
__DIR__ Magic
Usage
Example
PHP Functions
View All
User Defined
Syntax
Example
Naming Rules
Valid Names
Invalid Names
Case Insensitive
Parameters
Syntax
Usage
Return Values
return Statement
Example
Function Stops
Void Function
No Return
Type Declarations
Parameter Types
Example
Return Type Declaration
Syntax
Strict Types
Declaration
Location
Effect
Default Parameters
Syntax
Example
Right Side Only
Pass by Reference
Syntax
Example
Effect
Variadic Parameters
Syntax
Example
Usage
Named Arguments
PHP 8 Syntax
Example
Any Order
PHP 8.0
Skipping Defaults
Order Independence
Combine Positional
Variable Functions
Syntax
Example
Anonymous Functions
Syntax
Example
Closure
Arrow Functions
PHP 7.4 Syntax
Example
Implicit Return
PHP 7.4
Parent Scope
No Multi Statement
No Return Keyword
Function Scope
Local Variables
Global Access
global Keyword Usage
Example
GLOBALS Array
$GLOBALS Usage
Example
Static Variables
static Keyword
Behavior
Example
Recursion
Definition
Example
Limit
Callback Functions
Definition
call_user_func
call_user_func_array
is_callable
Closure Example
Array Map Example
Array Filter Example
usort Example
Closure
Closure Class
bind Method
bindTo Method
call Method
fromCallable Method
Use Case
Variadic Functions
Three Dots Syntax
Type Declaration
Example
Before PHP 5.6
func_num_args
func_get_arg
func_get_args
PHP Arrays
View All
Indexed Array
Definition
array Function
Short Syntax
Example
Access Element
Modify Element
Add Element
Automatic Index
Associative Array
Definition
array Function
Short Syntax
Example
Access Element
Modify Element
Add Element
Multidimensional Array
Definition
Two Dimensional
Three Dimensional
Access Element
Example
Iteration
Array Functions
count Function
sizeof Alias
array_push
array_pop
array_shift
array_unshift
array_merge
array_merge_recursive
array_combine
array_keys
array_values
array_key_exists
in_array
array_search
array_reverse
array_slice
array_splice
array_unique
array_map
array_filter
array_reduce
array_sum
array_product
array_rand
shuffle
range
array_fill
array_fill_keys
array_pad
array_chunk
Sorting Functions
sort
rsort
asort
arsort
ksort
krsort
usort
uasort
uksort
natsort
natcasesort
Array Destructuring
list Function
list Example
Short Syntax
Short Example
Skip Values
Associative Array
Nested
Spread Operator
Array Unpacking
Example
String Keys
Duplicate Keys
PHP Strings
View All
String Creation
Single Quotes
Double Quotes
Heredoc Syntax
Nowdoc Syntax
String Functions
strlen
str_word_count
strrev
strpos
stripos
strrpos
strripos
substr
substr_replace
str_replace
str_ireplace
str_repeat
str_pad
trim
ltrim
rtrim
explode
implode
join
strtolower
strtoupper
ucfirst
ucwords
lcfirst
htmlspecialchars
htmlspecialchars_decode
htmlentities
html_entity_decode
strip_tags
addslashes
stripslashes
md5
sha1
hash
base64_encode
base64_decode
urlencode
urldecode
rawurlencode
rawurldecode
json_encode
json_decode
serialize
unserialize
parse_str
http_build_query
printf Functions
printf
sprintf
sscanf
vprintf
vsprintf
String Comparison
strcmp
strcasecmp
strncmp
strncasecmp
strnatcmp
strnatcasecmp
similar_text
levenshtein
String Search
strstr
stristr
strchr
strrchr
strpbrk
String Tokenization
strtok
Example
Regular Expressions
preg_match
preg_match_all
preg_replace
preg_split
preg_grep
preg_quote
PHP Superglobals
View All
$_GET
Definition
Usage
Example
Security
$_POST
Definition
Usage
Example
Security
$_POST vs GET
POST for Sensitive Data
GET for Search
$_REQUEST
Definition
Usage
Caution
$_SERVER
Definition
HTTP_USER_AGENT
REMOTE_ADDR
REQUEST_METHOD
REQUEST_URI
QUERY_STRING
SCRIPT_NAME
PHP_SELF
SERVER_NAME
SERVER_ADDR
SERVER_PORT
HTTP_REFERER
HTTPS
HTTP_HOST
DOCUMENT_ROOT
$_FILES
Definition
name
type
tmp_name
error
size
$_COOKIE
Definition
Usage
Example
$_SESSION
Definition
Usage
Example
Start Required
$GLOBALS
Definition
Usage
Example
$_ENV
Definition
Usage
PHP Forms
View All
Form Handling
GET Method
POST Method
action Attribute
name Attribute
method Attribute
enctype Attribute
Form Validation
Required Field
Email Validation
Number Validation
String Length
Pattern Matching
URL Validation
Date Validation
File Validation
Confirm Password
Checkbox Validation
Select Validation
Form Security
htmlspecialchars
strip_tags
filter_var
Prepared Statements
CSRF Token
CSRF Generation
CSRF Validation
CAPTCHA
reCAPTCHA
Honeypot
Rate Limiting
Input Sanitization
Output Escaping
Sticky Forms
Remember Values
Select Dropdown
Checkbox
Radio Button
File Upload
Form Enctype
max_file_size
Upload Directory
move_uploaded_file
is_uploaded_file
File Type Validation
File Extension
Image Validation
File Size Validation
Secure Filename
Unique Filename
Error UPLOAD_ERR_OK
Error UPLOAD_ERR_INI_SIZE
Error UPLOAD_ERR_FORM_SIZE
Error UPLOAD_ERR_PARTIAL
Error UPLOAD_ERR_NO_FILE
Error UPLOAD_ERR_NO_TMP_DIR
Error UPLOAD_ERR_CANT_WRITE
Error UPLOAD_ERR_EXTENSION
Multiple File Upload
Image Resize
File Download
PHP Sessions
View All
Session Introduction
What is Session
Session vs Cookie
Session Lifecycle
Session Functions
session_start
session_id
session_name
session_destroy
session_unset
session_regenerate_id
session_status
session_save_path
Session Security
Session Hijacking
Session Fixation
Session Timeout
Secure Cookie Flag
HttpOnly Cookie
SameSite Cookie
Session Storage
Store User ID
Store Preferences
Store Shopping Cart
Session Examples
Login System
Logout System
User Dashboard
PHP Cookies
View All
Cookie Introduction
What is Cookie
Cookie Attributes
name
value
expires
path
domain
secure
httponly
samesite
Cookie Functions
setcookie
setrawcookie
header Cookie
Cookie Examples
Remember Me
User Preferences
Analytics
Cookie Security
Encrypt Cookie Data
PHP File Handling
View All
File Open
fopen
File Open Mode
r
w
a
x
File Read
fread
fgets
fgetc
file
file_get_contents
File Write
fwrite
fputs
file_put_contents
File Close
fclose
File End
feof
File Pointer
rewind
ftell
fseek
File Info
filesize
file_exists
is_file
is_dir
is_readable
is_writable
filemtime
filectime
fileatime
pathinfo
basename
dirname
realpath
File Operations
copy
rename
unlink
chmod
chown
chgrp
Directory Operations
mkdir
rmdir
opendir
readdir
closedir
scandir
glob
CSV Handling
fgetcsv
fputcsv
str_getcsv
JSON File
json_encode file
file_get_contents json_decode
PHP Date & Time
View All
Date Functions
date
time
mktime
gmmktime
strtotime
getdate
gettimeofday
checkdate
Date Format
d
m
Y
H
i
s
a
l
F
DateTime Class
DateTime Object
__construct
format
modify
add
sub
diff
setTimezone
getTimezone
setDate
setTime
createFromFormat
getTimestamp
setTimestamp
DateInterval
DateInterval Class
format
createFromDateString
DatePeriod
DatePeriod Class
Constructor
Recurring Dates
DateTimeZone
DateTimeZone Class
listIdentifiers
getOffset
Timezone Setting
date_default_timezone_set
date_default_timezone_get
Time Calculations
Age Calculator
Days Between Dates
Add Days
PHP Regular Expressions
View All
PREG Functions
preg_match
preg_match_all
preg_replace
preg_replace_callback
preg_split
preg_grep
preg_quote
preg_last_error
Pattern Delimiters
Forward Slash
Hash Symbol
Tilde
Metacharacters
Dot
Caret
Dollar
Asterisk
Plus
Question Mark
Curly Braces
Character Classes
Square Brackets
Negated Class
Range Hyphen
Shortcut Classes
Digits
Non Digits
Word Characters
Non Word
Whitespace
Non Whitespace
Modifiers
i Modifier
m Modifier
s Modifier
x Modifier
u Modifier
Groups
Capturing Group
Non Capturing Group
Named Group
Backreference
Alternation
Vertical Bar
Lookahead
Positive Lookahead
Negative Lookahead
Lookbehind
Positive Lookbehind
Negative Lookbehind
Email Validation
Email Regex Pattern
URL Validation
URL Regex Pattern
Phone Validation
Phone Regex Pattern
IP Validation
IP Address Regex
Username Validation
Username Regex
Password Validation
Password Strength Regex
PHP OOP
View All
Classes
class Keyword
Class Naming
Example Class
Objects
new Keyword
Object Variable
Multiple Objects
Properties
Property Declaration
Property Types
Property Initialization
Nullable Properties
Property Access
Property Assignment
Methods
Method Declaration
Method Return Type
Method Parameters
Method Call
Method Chaining
$this Keyword
$this Variable
$this Usage
Access Properties
Call Methods
Constructor
__construct Method
Constructor Parameters
Constructor Promotion
Parent Constructor
Destructor
__destruct Method
Use Cases
Inheritance
extends Keyword
Parent Class
Child Class
Method Override
parent Keyword
final Keyword
final Class
Multiple Inheritance
Visibility
public Keyword
protected Keyword
private Keyword
Property Best Practices
Getters and Setters
Getter Method
Setter Method
Validation in Setter
Readonly Property
Abstract Classes
abstract Keyword
Abstract Method
Concrete Method
Child Implementation
Interfaces
interface Keyword
implements Keyword
Multiple Interfaces
Interface Inheritance
Interface Constants
Abstract vs Interface
Traits
trait Keyword
use Keyword
Multiple Traits
Conflict Resolution
Alias Method
Trait Composition
Properties in Traits
Abstract Methods
Static Methods
static Keyword
Method Call
self Keyword
parent Keyword
Static Properties
static Property
Access Syntax
self Access
static Access
Late Static Binding
static Resolution
get_called_class
Magic Methods
__construct
__destruct
__get
__set
__isset
__unset
__call
__callStatic
__toString
__invoke
__clone
__sleep
__wakeup
__serialize
__unserialize
__debugInfo
__set_state
Object Cloning
clone Keyword
Shallow Copy
Deep Copy
__clone Method
Object Comparison
Equal Operator
Identical Operator
Object Serialization
serialize Function
unserialize Function
Serializable Interface
Namespaces
namespace Keyword
use Keyword
as Keyword
Fully Qualified Name
Subnamespaces
Multiple Namespaces
Bracketed Syntax
PSR-4
Anonymous Classes
new class
Constructor
Extend Class
Implement Interface
Use Cases
Iterators
Iterator Interface
IteratorAggregate
ArrayIterator
ArrayObject
Generators
yield Keyword
yield from
Generator Object
Memory Efficiency
Reflection
ReflectionClass
ReflectionMethod
ReflectionProperty
ReflectionParameter
ReflectionAttribute
Use Cases
Attributes
Attribute Syntax
Attribute Class
Attribute Target
Attribute Flags
Repeatable Attribute
Read Attributes
Enums
enum Keyword
Basic Enum
Backed Enum
Enum Methods
Enum Static Methods
Enum Constants
Enum in Switch
Enum vs Class
PHP Database
View All
MySQLi Introduction
MySQLi Extension
MySQLi Connection
Procedural Connect
OOP Connect
Connection Parameters
Error Check
Set Charset
Close Connection
MySQLi Query
Simple Query
SELECT Query
INSERT Query
UPDATE Query
DELETE Query
MySQLi Fetch
mysqli_fetch_assoc
mysqli_fetch_object
mysqli_fetch_array
mysqli_fetch_all
mysqli_num_rows
mysqli_affected_rows
mysqli_insert_id
MySQLi Prepared
Prepared Statement Benefits
prepare Method
bind_param
Parameter Types
execute Method
store_result
bind_result
fetch Method
get_result
INSERT with Prepared
UPDATE with Prepared
DELETE with Prepared
SELECT with Prepared
MySQLi Multi Query
multi_query
next_result
MySQLi Transactions
autocommit
begin_transaction
commit
rollback
Example
MySQLi Error
mysqli_error
mysqli_errno
mysqli_sqlstate
MySQLi Escape
mysqli_real_escape_string
PDO Introduction
PDO Extension
PDO Benefits
Multiple Databases
PDO vs MySQLi
PDO More Databases
PDO Connection
PDO Constructor
DSN String
MySQL DSN
Connection Options
Error Mode
Connection Check
Close Connection
PDO Query
query Method
exec Method
PDO Fetch
PDO FETCH_ASSOC
PDO FETCH_OBJ
PDO FETCH_BOTH
PDO FETCH_CLASS
fetch Method
fetchAll Method
fetchColumn
rowCount
PDO Prepared
prepare Method
bindParam
bindValue
execute Method
Named Placeholders
Question Mark Placeholders
INSERT Prepared
UPDATE Prepared
DELETE Prepared
SELECT Prepared
Reuse Statement
PDO Transactions
beginTransaction
commit
rollBack
inTransaction
PDO Error
errorInfo
errorCode
PDOException
PDO Attributes
setAttribute
getAttribute
ATTR ERRMODE
ATTR DEFAULT FETCH MODE
ATTR EMULATE PREPARES
PDO Last ID
lastInsertId
PDO Metadata
getColumnMeta
PDO Drivers
getAvailableDrivers
PHP Error Handling
View All
Error Types
PHP Parse Error
PHP Fatal Error
PHP Warning
PHP Notice
PHP Deprecated
Error Reporting
error_reporting
display_errors
log_errors
Error Levels
E_ALL
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
E_DEPRECATED
E_STRICT
Custom Handler
set_error_handler
Handler Parameters
restore_error_handler
Exception Handling
try Block
catch Block
finally Block
Exception Class
Throwable Interface
Exception Class
throw Keyword
Exception Methods
getMessage
getCode
getFile
getLine
getTrace
getTraceAsString
Custom Exceptions
Extend Exception
Multiple Types
Exception Hierarchies
Multiple Catch
Catch Multiple
Catch All
Rethrow
throw in catch
Exception Chaining
Previous Exception
Global Handler
set_exception_handler
restore_exception_handler
Error to Exception
ErrorException Class
Handler Throw
Production Practices
Error Logging
Custom Error Page
Error Monitoring
PHP Security
View All
SQL Injection
Overview
Vulnerable Code
Prevention Method
PDO Prevention
MySQLi Prevention
Escape Function
Validation Method
Stored Procedure
XSS Prevention
Overview
htmlspecialchars
ENT_QUOTES Flag
strip_tags Function
filter_var Sanitize
Output Escaping
CSP Header
Cookie Flag
CSRF Prevention
Overview
Token Generation
Store Token
Form Field
Validate Token
hash_equals Function
SameSite Cookie
Double Submit
Referer Check
Password Hashing
password_hash Function
password_verify Function
password_needs_rehash
password_get_info
PASSWORD_DEFAULT
PASSWORD_BCRYPT
PASSWORD_ARGON2I
PASSWORD_ARGON2ID
BCrypt Cost
Argon2 Memory
Argon2 Time
Argon2 Threads
Hash Length
Best Practice
Input Validation
filter_var Function
FILTER_VALIDATE_EMAIL
FILTER_VALIDATE_URL
FILTER_VALIDATE_IP
FILTER_VALIDATE_INT
FILTER_VALIDATE_BOOLEAN
FILTER_VALIDATE_FLOAT
FILTER_VALIDATE_REGEXP
FILTER_SANITIZE_EMAIL
FILTER_SANITIZE_URL
FILTER_SANITIZE_NUMBER_INT
FILTER_SANITIZE_NUMBER_FLOAT
FILTER_SANITIZE_SPECIAL_CHARS
filter_input Function
filter_input_array
Validation vs Sanitization
File Upload Security
Type Validation
finfo_file Function
Extension Whitelist
Image Validation
Size Limit
Secure Filename
Unique Name
Storage Location
File Permissions
Serve File
Malware Scan
Session Security
Session Hijacking
Regenerate ID
Session Timeout
Secure Cookie Flag
HttpOnly Cookie Flag
SameSite Cookie Flag
Disable Trans ID
Database Storage
Validation Method
HTTPS
Force HTTPS
HSTS Header
Secure Flag Cookies
Proxy Support
HTTP Headers
X-Frame-Options
X-Content-Type-Options
Referrer-Policy
Permissions-Policy
CSP Header
Content-Security-Policy
default-src
script-src
style-src
img-src
connect-src
report-uri
CORS
Overview
Allow Origin
Allow Methods
Allow Headers
Allow Credentials
Preflight Request
API Security
Rate Limiting
JWT Authentication
API Keys
OAuth 2.0
Input Validation
Output Sanitization
Environment Security
.env Files
getenv Function
putenv Function
Production Security
display_errors Off
log_errors On
error_log Path
Custom Error Page
SSRF Prevention
What is SSRF
Allowlist URLs
Disable Redirects
Validate IP Address
cURL Options
Practical Example
XXE Prevention
What is XXE
libxml_disable_entity_loader
libxml_set_external_entity_loader
DOMParser Options
SimpleXML Options
Practical Example
Path Traversal
What is Path Traversal
realpath Validation
basename Function
Path Whitelist
Practical Example
Log Forging
What is Log Forging
Remove Newlines
JSON Encoding
Practical Example
LDAP Injection
What is LDAP Injection
ldap_escape Function
Input Validation
Practical Example
PHP JSON
View All
json_encode
Basic Usage
PRETTY PRINT
UNESCAPED UNICODE
UNESCAPED SLASHES
NUMERIC CHECK
FORCE OBJECT
THROW ERROR
json_decode
Basic Usage
Associative True
Depth Limit
BigInt String
Error Constants
JSON_ERROR_NONE
JSON_ERROR_DEPTH
JSON_ERROR_STATE_MISMATCH
JSON_ERROR_CTRL_CHAR
JSON_ERROR_SYNTAX
JSON_ERROR_UTF8
File Handling
Read JSON File
Write JSON File
Pretty Print File
Validation
Validate JSON String
Nested JSON
Complex Structures
Object Serialization
Serialize Objects
Array Handling
Numeric Arrays
Associative Arrays
PHP XML
View All
SimpleXML
Load from File
Load from String
Access Elements
Access Attributes
Iterate Elements
XPath Query
Modify Elements
Add Child Element
Add Attribute
Remove Element
Convert to String
Namespaces
Get Children
Get Attributes
DOMDocument
Load XML String
Load HTML String
Load HTML File
Save XML
Save HTML
Create Element
Create Text Node
Create Attribute
Append Child
Insert Before
Remove Child
Get Element ID
Get Elements Tag
DOMXPath
Create Query
Execute Query
XMLReader
Open File
Read Node
Get Node Type
Get Node Name
Get Node Value
XMLWriter
Open Memory
Start Document
Start Element
Write Element
Write Attribute
Write Text
End Element
End Document
Get Output
PHP cURL
View All
cURL
Introduction
Initialize
Set Option
Execute Request
Close Session
Get Error
Get Error Number
Get Info
Options
CURLOPT_URL
CURLOPT_RETURNTRANSFER
CURLOPT_HEADER
CURLOPT_TIMEOUT
CURLOPT_FOLLOWLOCATION
CURLOPT_MAXREDIRS
HTTP Methods
GET Request
POST Request
POST Fields
POST Array
POST JSON
PUT Request
DELETE Request
Headers
HTTP Headers
Content-Type
Authorization
User Agent
SSL
SSL Verification
Disable SSL Verify
Authentication
HTTP Basic Auth
Proxy
HTTP Proxy
Proxy Authentication
Cookies
Save Cookies
Read Cookies
File Upload
Upload File
Concurrent
Multi Init
Add Handle
Execute Multi
Select Multi
Get Content
Remove Handle
Close Multi
REST API
GET Request
POST Request
PUT Request
DELETE Request
API Authentication
Bearer Token
API Key
PHP API Development
View All
REST API
Definition
REST Methods
HTTP Methods
API Endpoints
URL Structure
API Response
JSON Format
Status Codes
200 OK
201 Created
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
422 Unprocessable
500 Server Error
Response Structure
Success Field
Message Field
Data Field
Errors Field
API Versioning
URL Versioning
Header Versioning
API Authentication
API Keys
JWT Tokens
JWT
Create Token
Validate Token
PHP Library
Rate Limiting
Implementation
Headers
Pagination
Limit Offset
Page Parameter
Response Metadata
Filtering
Filter Parameters
Sorting
Sort Parameters
Searching
Search Parameter
API Documentation
OpenAPI Specification
API Testing
Postman Tool
CORS Handling
Cross Origin
Error Handling
Consistent Format
Validation
Request Validation
Logging
API Logs
PHP Email
View All
mail Function
Basic Usage
Parameters
Headers Format
Return Value
Additional Headers
Plain Text Email
HTML Email
HTML Images
Limitations
SMTP Config
PHPMailer
Introduction
Installation
SMTP Setup
SMTP Host
SMTP Auth
SMTP Username
SMTP Password
SMTP Secure
SMTP Port
Set From
Add Recipient
Add CC
Add BCC
Reply To
Email Subject
Email Body
Alt Body
Add Attachment
HTML Format
Send Email
Error Info
Gmail Setup
Outlook Setup
String Attachment
Embed Image
Email Validation
Validate Format
Email Verification
Send Link
Email Templates
HTML Design
Email Queue
Database Queue
Rate Limiting
Prevent Spam
SwiftMailer
Alternative Library
PHP 8 Features
View All
Constructor Promotion
Property Promotion
Syntax
Visibility
Named Arguments
Parameter Names
Example
Any Order
Attributes
Syntax
Create Class
Target
Repeatable
Match Expression
Match Syntax
Strict Comparison
Default Pattern
Multiple Conditions
Nullsafe Operator
Nullsafe Syntax
Chaining
Union Types
Union Syntax
Nullable Union
Example
Weak Map
WeakMap Class
Stringable
Stringable Interface
String Functions
str_contains
str_starts_with
str_ends_with
Debug Functions
get_debug_type
get_resource_id
Throw Expression
Throw in Expression
PHP 8.1 Features
View All
Enums
Enum Keyword
Pure Enum
Backed Enum
Enum Methods
Enum Constants
Enum in Switch
From Method
TryFrom Method
Readonly Properties
Readonly Keyword
Readonly Class
Readonly Class
First Class Callable
Callable Syntax
Array Unpacking
String Keys
Never Type
Never Return Type
Fibers
Fiber Introduction
Fiber Start
Fiber Resume
Fiber Return
Array Functions
array_is_list
Final Constants
final Keyword
Intersection Types
Intersection Syntax
PHP 8.2 Features
View All
Readonly Classes
Readonly Class
DNF Types
Complex Types
Trait Constants
Constants in Traits
Random Extension
Randomizer Class
PHP 8.3 Features
View All
Class Constant Typing
Constant Types
Dynamic Constant Fetch
Class Constant Fetch
json_validate
Validate JSON
PHP 8.4 Features
View All
Property Hooks
Get Set Hooks
Asymmetric Visibility
Public Get Private Set
Array Functions
array_find
array_find_key
array_any
array_all
PHP Composer
View All
Introduction
What is Composer
Package Manager
Inspiration
Installation
Download Composer
Global Install
Windows Installer
Verify Install
composer.json
Create File
Name Field
Description Field
Type Field
License Field
Authors Field
Require Field
Require Dev Field
Autoload Field
Autoload Dev Field
Scripts Field
Minimum Stability
Prefer Stable
Version Constraints
Exact Version
Caret Range
Tilde Range
Hyphen Range
Wildcard Version
Greater Than
Less Than
Dev Versions
Stability Flags
Commands
composer install
composer update
composer require
composer require dev
composer remove
composer show
composer outdated
composer why
composer validate
composer dump-autoload
composer clear-cache
composer self-update
composer.lock
Lock File Purpose
Commit Lock File
Version Control
vendor Directory
Third Party Code
autoload.php
Do Not Commit
Autoloading
PSR-4 Standard
PSR-4 Config
PSR-0 Standard
Classmap Autoload
Files Autoload
Dump Autoload
Packagist
Official Repository
Search Packages
Submit Package
Custom Repository
VCS Repository
Path Repository
Pear Repository
Scripts
Pre Install Cmd
Post Install Cmd
Pre Update Cmd
Post Update Cmd
Pre Autoload Dump
Post Autoload Dump
Pre Package Install
Post Package Install
Execute PHP Script
Execute Composer
Creating Package
composer.json Requirements
Add Version
Packagist Submission
Autoload Setup
Optimization
Classmap Optimization
APCu Autoloader
Production Build
PHP Unit Testing
View All
PHPUnit
Introduction
Installation
Version
Test Class
Test Method
Test Naming
Test Annotation
Assertions
assertEquals
assertSame
assertTrue
assertFalse
assertNull
assertNotNull
assertEmpty
assertNotEmpty
assertCount
assertContains
assertNotContains
assertStringContainsString
assertStringNotContainsString
assertMatchesRegularExpression
assertFileExists
assertFileEquals
assertJson
assertJsonStringEqualsJsonString
Annotations
@dataProvider
@depends
@group
@covers
@coversMethod
@large
Fixtures
setUp
tearDown
setUpBeforeClass
tearDownAfterClass
Exceptions
expectException
expectExceptionMessage
expectExceptionCode
Test Doubles
createMock
getMockBuilder
Mock Methods
expects
willReturn
willReturnCallback
willThrowException
with
Mock Counts
once
never
exactly
any
phpunit.xml
Configuration File
directory Suite
file Suite
exclude
Command Line
#NAME?
Code Coverage
Xdebug Required
#NAME?
Best Practices
One Assertion Per Test
Test Names Clear
Independent Tests
PHP Laravel
View All
Laravel Introduction
What is Laravel
Laravel Features
Eloquent ORM
Blade Templating
Artisan CLI
Routing System
Migrations
Installation
Composer Create
Laravel Installer
Requirements
Artisan Commands
php artisan make:model
php artisan make:controller
php artisan make:migration
php artisan migrate
php artisan tinker
php artisan route:list
php artisan cache:clear
Routing
web.php File
api.php File
Route Methods
Route Parameters
Named Routes
Route Groups
Controllers
Make Controller
Resource Controller
Invokable Controller
Views
Blade Files
Blade Echo
Blade Directives
Blade Components
Eloquent
Model Creation
Model Properties
CRUD Operations
Relationships
Migrations
Schema Builder
Up Method
Down Method
Validation
Request Validation
Form Request
Rules List
Authentication
php artisan make:auth
Auth Facade
Authentication Guards
PHP Symfony
View All
Symfony Introduction
What is Symfony
Symfony Features
Reusable Components
Symfony Installation
Composer Create
Symfony Console
bin/console
Symfony Components
HttpFoundation
Routing
Validator
DependencyInjection
Doctrine ORM
Doctrine Introduction
Entities
Repositories
Twig Templating
Twig Introduction
Twig Syntax
Double Brace Echo
Routing Attributes
Routing Configuration
PHP CodeIgniter
View All
CodeIgniter Introduction
What is CodeIgniter
CodeIgniter Features
Small Footprint
CodeIgniter Installation
Download and Extract
MVC Pattern
Models
Views
Controllers
Configuration
Config Files
Database Query Builder
Query Builder Class
PHP WordPress
View All
WordPress Introduction
What is WordPress
WordPress Hooks
Actions
Filters
Plugin Development
Plugin Header
Activation Hook
Deactivation Hook
Theme Development
functions.php
Template Files
Template Hierarchy
Custom Post Types
register_post_type
WP_Query
Custom Queries
PHP Caching
View All
OPcache
Introduction
Enable Setting
Memory Setting
Validation Setting
Reset Function
APCu
Introduction
Installation
Store Data
Fetch Data
Delete Data
Check Exists
Clear Cache
Memcached
Introduction
Installation
PHP Extension
Connect Server
Set Data
Get Data
Delete Data
Increment Value
Decrement Value
Redis
Introduction
Installation
PHP Extension
Connect Server
Set Value
Get Value
Set Expiry
Delete Key
Increment Value
Hash Operations
Pub Sub
Page Caching
Output Buffering
Check Cache
Save Cache
Serve Cache
Cache Invalidation
Query Caching
Cache Results
Cache Strategies
Cache Hit Ratio
Cache Stampede
PHP Command Line
View All
CLI Basics
What is PHP CLI
CLI vs Web
No HTTP Headers
Running Scripts
Execute PHP File
Interactive Shell
php -a
Run Code Direct
php -r
Built-in Server
php -S
Built-in Server Router
php -S router.php
Command Arguments
$argv Array
Argument Count
$argc Variable
Script Name
$argv 0
First Argument
$argv 1
STDIN Stream
php stdin
STDOUT Stream
php stdout
STDERR Stream
php stderr
Read STDIN
fopen stdin
Read Line
fgets STDIN
Write STDOUT
fwrite STDOUT
Write Error
fwrite STDERR
getopt Function
Parse Options
getopt Example
getopt a b
getopt Long
getopt option
Exit Codes
exit 0
exit 1
Environment Variables
getenv Function
putenv Function
CLI Detection
PHP SAPI
Terminal Colors
ANSI Codes
Text Color
033 32m
Background Color
033 41m
Reset Color
033 0m
Progress Bar
CLI Progress
Table Output
Format Table
Spinner Animation
CLI Spinner
Symfony Console
Console Component
Symfony Command
Extend Command
Symfony Input
Input Interface
Symfony Output
Output Interface
PHP Cron Jobs
View All
Cron Introduction
Cron Jobs
PHP Design Patterns
View All
Singleton Pattern
Definition
Private Constructor
Private Clone
getInstance Method
Database Example
Factory Pattern
Definition
Simple Factory
Factory Method
Abstract Factory
Payment Example
Strategy Pattern
Definition
Strategy Interface
Context Class
Payment Strategy
Dynamic Change
Observer Pattern
Definition
SplSubject Interface
SplObserver Interface
attach Method
detach Method
notify Method
Event System
Decorator Pattern
Definition
Component Interface
Concrete Component
Decorator Class
Caching Example
Logging Example
Adapter Pattern
Definition
Target Interface
Adaptee Class
Adapter Class
Payment Example
Repository Pattern
Definition
Repository Interface
Concrete Repository
User Repository
Repository Cache
Dependency Injection
Definition
Constructor Injection
Setter Injection
Interface Injection
Service Container
Benefits
MVC Pattern
Definition
Model
View
Controller
Routing
Dispatcher
Front Controller Pattern
Definition
index.php
Routing Logic
Bootstrap
PHP Projects
View All
Login System
User Registration
Password Hashing
Login Validation
Session Creation
Remember Me Feature
Password Reset
Email Verification
Two Factor Authentication
Account Lockout
Logout Function
CRUD Application
Create Record
Read Records
Update Record
Delete Record
Search Functionality
Pagination Feature
Sort Records
Export to CSV
Import from CSV
AJAX CRUD
REST API
User Endpoint
User Show Endpoint
User Update Endpoint
User Delete Endpoint
API Authentication
JWT Implementation
Rate Limiting
API Versioning
Error Handling
Response Formatting
JWT Authentication
Product Endpoint
Order Endpoint
API Documentation
File Manager
Upload Files
List Files
Preview Images
Download Files
Delete Files
Rename Files
Create Folders
Move Files
Search Files
File Information
Shopping Cart
Add to Cart
View Cart
Update Quantity
Remove Item
Coupon System
Calculate Total
Checkout Process
Order Confirmation
Email Receipt
Payment Integration
Blog System
Create Post
Edit Post
Delete Post
Display Posts
Single Post View
Categories
Tags
Comments System
Post Search
Post Pagination
SEO Friendly URLs
Database Schema
Category Management
Tag System
Comment System
Search Functionality
Pagination Feature
Task Manager
Create Task
Edit Task
Delete Task
Mark Complete
Due Dates
Priority Levels
Filter Tasks
Sort Tasks
Search Tasks
Task Dashboard
Contact Form
Build Form
Validate Input
Sanitize Data
CSRF Protection
CAPTCHA Integration
Send Email
Auto Reply
Save to Database
Admin Notification
Spam Filtering
Dashboard
Statistics Cards
Charts Integration
Recent Activity
User Management
Role Management
Settings Page
Report Generation
Export Data
Activity Logs
Notification System
WebSocket Chat
Server Setup
Client Connection
Send Message
Private Messages
User Typing
Online Status
Message History
File Sharing
Emoji Support
Notification Sounds
PDF Generator
HTML to PDF
Invoice Creation
Report PDF
Certificate Maker
Table Layout
Header Footer
Watermark Add
Password Protection
Email PDF
Batch Generation
Excel Export
Export to XLSX
Multiple Sheets
Format Cells
Add Formulas
Export from Database
Export with Headers
CSV Export
Excel Import
Read Excel File
Validate Data
Import to Database
Error Reporting
Image Gallery
Upload Images
Create Thumbnails
Display Gallery
Lightbox View
Image Categories
Add Watermark
Image Delete
Bulk Upload
Search Images
Image Comments
Newsletter System
Subscribe Form
Double Opt-In
Unsubscribe Link
Manage Subscribers
Create Campaign
Send Newsletter
Queue System
Open Tracking
Click Tracking
Analytics Dashboard
URL Shortener
Create Short URL
Redirect Logic
Custom Alias
QR Code Generator
Click Counter
Analytics Page
API Support
Link Expiry
Password Protection
Bulk Shorten
Poll System
Create Poll
Display Poll
Submit Vote
Prevent Double Voting
Show Results
Results Chart
Multiple Polls
Poll Status
Comments Section
Export Results
Quiz System
Create Quiz
Display Question
Submit Answer
Calculate Score
Show Result
Leaderboard
Time Limit
Random Questions
Multiple Attempts
Certificate Generation
Expense Tracker
Add Expense
Edit Expense
Delete Expense
Categories
Dashboard
Monthly Report
Yearly Report
Budget Setting
Chart Display
Export Report
Ecommerce Cart
Product Management
Add to Cart Function
View Cart Page
Update Quantity
Remove Item
Coupon System
Calculate Total
Checkout Process
Order Confirmation
Email Receipt
Payment Integration
Real-time Chat
Ratchet Server Setup
Client Connection
Send Message
Private Message
User Typing
Online Status
Message History
File Sharing
Emoji Support
Notification Sound
CRUD Generator
Database Connection
Table Listing
Generate Create Form
Generate Read List
Generate Update Form
Generate Delete Feature
Code Output Display
Download Feature
PHP Advanced Topics
View All
Web Scraping
cURL Requests
DOM Parsing
XPath Queries
Regular Expressions
Crawl Multiple Pages
Delay Requests
User Agent Spoofing
Handle JavaScript
Parse JSON APIs
Save Scraped Data
Queue Systems
Beanstalkd Setup
Put Job in Queue
Process Queue
Retry Failed Jobs
Delayed Jobs
Priority Levels
Queue Monitoring
RabbitMQ PHP
Redis Queue
Database Queue
Event Broadcasting
Event Class
Listener Class
Event Dispatcher
Async Events
WebSocket Push
Laravel Events
Logging Events
User Notifications
Email on Event
Middleware
What is Middleware
Before Middleware
After Middleware
Authentication Middleware
Admin Middleware
Rate Limit Middleware
CORS Middleware
Logging Middleware
Custom Middleware
Service Container
What is Container
Bind Interface
Resolve Class
Singleton Binding
Contextual Binding
Service Providers
Deferred Provider
Tagged Services
PSR-11 Container
Container Aware
Database Migrations
Create Migration
Up Method
Down Method
Rollback Command
Migrate Refresh
Seed Database
Faker Library
Data Types
Table Indexes
Foreign Keys
Database Seeding
Create Seeders
Factory Pattern
Relationships Seeding
Environment Specific
Truncate First
Seed from CSV
Seed with Images
Database Refresh
API Documentation
OpenAPI Specification
Swagger UI
Generate from Code
Postman Collection
Redoc Tool
Versioning in Docs
Authentication Docs
Request Examples
Response Examples
Error Documentation
Code Profiling
Xdebug Profiler
Blackfire io
Tideways Service
Memory Profiling
Time Profiling
Query Profiling
Call Graph
Profile in Production
Compare Profiles
Continuous Profiling
Code Linting
PHP Linter
PSR Standards
Code Sniffer
Static Analysis
Psalm Tool
PhpStan Tool
IDE Integration
Git Hooks
CI Integration
Fix Automatically
GraphQL API
GraphQL Introduction
GraphQL Schema
GraphQL Query
GraphQL Mutation
GraphQL PHP Library
Resolvers Functions
GraphQL vs REST
GraphQL Client
GraphQL Playground
Nested Queries
Microservices Architecture
What is Microservices
API Gateway
Service Discovery
Inter Service Communication
PHP Microservice
Docker Containers
Service Registry
Circuit Breaker
Distributed Tracing
Centralized Logging
Message Brokers
RabbitMQ Introduction
RabbitMQ PHP Library
Producer Code
Consumer Code
Exchange Types
Queue Binding
Message Acknowledgment
Dead Letter Queue
Kafka Introduction
Apache Kafka
RDKafka PHP
Webhooks
What is Webhook
Create Webhook Endpoint
Verify Webhook Signature
Handle Retries
Idempotency Handling
Event Types List
Stripe Webhooks
GitHub Webhooks
Webhook Debugging
Webhook Security
Serverless PHP
Bref Introduction
AWS Lambda
Serverless Framework
API Gateway
Environment Variables
Cold Start
Database Connection
File Storage
Cost Optimization
Local Development
Payment Gateway Integration
Stripe Setup
Stripe Checkout
Payment Intent API
Stripe Webhook
Refund Process
PayPal Setup
PayPal Orders
Razorpay Setup
Subscription Billing
Save Payment Method
SMS Integration
Twilio Setup
Send SMS Message
Verify Phone Number
Two Factor Authentication
TextLocal API
Africas Talking
Message Queues
Bulk SMS Sending
SMS Delivery Status
Opt Out Handling
File Format Processing
PDF Extraction
PDF Creation
Word Document Processing
Excel Advanced Formulas
CSV Large Files
ZIP Archive Creation
ZIP Extraction
Image EXIF Data
Barcode Generation
Markdown Parsing
Data Encryption
OpenSSL Extension
openssl_encrypt
openssl_decrypt
AES 256
Encryption Key
IV Initialization Vector
Sodium Extension
sodium_crypto_secretbox
Password Based Encryption
Encrypt Database Fields
Data Compression
gzcompress
gzuncompress
gzencode
gzdecode
ZipArchive Class
Compress Large Files
Compress API Response
Compress Database Backup
Compression Level
Zstandard Extension
Data Serialization
serialize Format
unserialize Security
JSON Serialization
MessagePack
Protocol Buffers
YAML Format
Custom Serialization
Object Graph
Serialize Closure
Performance Comparison
Multilingual Support
Locale Setting
Gettext Implementation
PO File Creation
MO File Compilation
Language Detection
URL Based Language
Session Based Language
Database Translation
Array Translation
Fallback Language
Accessibility
WAI ARIA Attributes
Alt Text for Images
Form Labels
Keyboard Navigation
Color Contrast
Font Size Scaling
ARIA Landmarks
Form Error Announcement
Focus Management
Accessible Tables
GDPR Compliance
Data Consent Form
Right to Access
Right to Deletion
Data Portability
Cookie Consent
Privacy Policy Page
Data Breach Notification
Age Verification
Anonymize Data
Data Retention Policy
PHP Best Practices
View All
Error Handling
Always Use Exceptions
Log All Errors
Custom Error Pages
Try Catch Appropriately
Finally Block Cleanup
Global Exception Handler
Error Reporting Level
Display Errors Off
Database
Always Use Prepared Statements
Use PDO or MySQLi
Close Connections
Index Your Tables
Limit Result Sets
Use Transactions
Don't Query in Loops
Escape Like Wildcards
Use Read Replicas
Security
Validate All Inputs
Sanitize All Outputs
Use CSRF Tokens
Implement Rate Limiting
Hash All Passwords
Use HTTPS Everywhere
Regenerate Session ID
Set Secure Cookies
Use Content Security Policy
File Upload Validation
Code Organization
Use PSR Standards
Use Namespaces
Single Responsibility Principle
Don't Repeat Yourself
Use Dependency Injection
Comment Your Code
Use Type Hints
Return Types
Use Strict Types
Keep Functions Small
Performance
Use OPcache
Use Single Quotes
Unset Large Variables
Cache Expensive Operations
Limit Function Calls
Use isset Not array_key_exists
Use foreach Not while
Limit Object Creation
Use Generators
Profile Your Code
Error Reporting
Production Settings
Development Settings
Logging Setup
File Structure
Separate Concerns
Configuration Files
Version Control
gitignore Rules
Branch Strategy
Documentation
PHPDoc Comments
README File
Dependency Management
Update Regularly
Lock File Commit
Testing
Write Unit Tests
Test Edge Cases
PHP Deployment
View All
Deployment Steps
Git Pull
Composer Install
Migrate Database
Clear Cache
Restart Queue
Restart Webserver
Deployment Tools
Deployer PHP
Capistrano
Envoy
Rocketeer
Forge Server
Envoyer
CI CD
GitHub Actions
GitLab CI
Jenkins Server
Buddy CI
Circle CI
Travis CI
Code Coverage
Automated Testing
Deploy on Pass
Environment Variables
Use env Files
Production Values
Secret Management
Vault Service
CI CD Variables
Server Environment
Nginx Environment
php-fpm Environment
PHP Advanced Projects
View All
Real Estate Listing
Property Management System
Property Search Form
Property Details Page
Image Gallery Slider
Agent Contact Form
Favorite Properties
Compare Properties
Maps Integration
Mortgage Calculator
Property Status Mark
Job Portal
Job Posting Form
Job Listings Page
Job Details View
Apply for Job
Resume Upload
Employer Dashboard
Candidate Dashboard
Job Alerts Email
Company Profiles
Application Tracking System
E-Learning Platform
Course Creation
Course Catalog
Video Lessons
Quiz System
Student Progress
Certificate Generation
Rating System
Discussion Forum
Payment Gateway
Wishlist Feature
Social Media Platform
User Profiles
Post Status
News Feed
Like System
Comment System
Friend Request
Messaging System
Notification System
Hashtag Support
Privacy Settings
Hotel Booking System
Room Management
Room Availability
Booking Form
Payment Integration
Booking Confirmation
Manage Bookings
Cancel Booking
Customer Reviews
Special Offers
Room Features List
Doctor Appointment System
Doctor Profiles
Patient Registration
Search Doctors
Book Appointment
Available Slots
Appointment Reminder
Patient Dashboard
Doctor Dashboard
Prescription Upload
Feedback System
Inventory Management System
Product Management
Stock Tracking
Low Stock Alert
Supplier Management
Purchase Orders
Barcode Generation
Category Management
Report Generation
Export Inventory
Multi Warehouse
School Management System
Student Registration
Teacher Profiles
Class Management
Subject Allocation
Exam Management
Marks Entry
Report Card Generate
Attendance Tracking
Fees Collection
Parent Portal
Support Ticket System
Create Ticket
Ticket Categories
Priority Levels
Assign Agent
Add Reply
Ticket Status
Attach Files
Knowledge Base
Email Notification
Satisfaction Rating
Multi Vendor Ecommerce
Vendor Registration
Vendor Dashboard
Product Approval
Vendor Commission
Order Management
Vendor Payout
Vendor Review
Coupon System
Shipping Management
Analytics Dashboard
PHP Debugging
View All
Debugging Techniques
var_dump Usage
print_r Usage
error_log Function
trigger_error Function
assert Function
Xdebug Step Debugging
Xdebug Breakpoints
Xdebug Stack Trace
Whoops Error Handler
Clockwork Extension
Logging Libraries
Monolog Introduction
Monolog Logger
Log Levels
Monolog Handlers
Log Rotation
Structured Logging
Context Information
Monolog Processors
Monolog Formatters
PSR-3 Logger
Profiling Tools
Xdebug Profiler
Webgrind Tool
PHPBench
Blackfire Comparison
Tideways UI
Slow Log Analysis
Memory Profiling
Function Timing
Request Profiling
Production Profiling
PHP Optimization
View All
Code Optimization
Use Single Quotes
Use isset Function
Use foreach Loop
Full Strict Comparison
Avoid Function in Loop
Use Static Methods
Unset Large Variables
Use Increment Operator
Use Built-in Functions
Use strpos Over Regex
Database Optimization
Use Database Indexes
Select Only Needed
Limit Result Sets
Avoid Select in Loops
Use Query Cache
Optimize Joins
Use EXPLAIN Command
Batch Insertions
Use Connection Pooling
Read Replicas
Caching Strategies
Full Page Cache
Fragment Caching
Opcode Caching
Object Caching
Cache Invalidation
Cache Warming
Cache Stampede Prevention
CDN Usage
Browser Caching
HTTP Caching
Opcode Optimization
OPcache Settings
OPcache Interned Strings
OPcache Max Files
OPcache Validate Timestamps
OPcache Revalidate Freq
Preload Scripts
Preload File
JIT Compilation
JIT Buffer Size
JIT Tracing Mode
OPcache Dashboard
PHP 8.4
View All
Property Hooks
Get Hook
Set Hook
Virtual Property
Backed Property
Readonly Hook
Writeonce Hook
Get Hook Syntax
Set Hook Syntax
Example Usage
Asymmetric Visibility
Public Get Private Set
Protected Get Private Set
Public Get Protected Set
Syntax Example
Example Usage
Array Functions
array_find Function
array_find_key Function
array_any Function
array_all Function
HTML5 DOM
HTML5 Parsing
DOMDocument HTML5
HTML5 Serialization
mbstring Functions
mb_trim Function
mb_ltrim Function
mb_rtrim Function
mb_ucfirst Function
mb_lcfirst Function
New Array Functions
array_find Function
array_find_key Function
array_any Function
array_all Function
Practical Example
HTML5 DOM Support
HTML5 Parsing
DOMDocument HTML5
HTML5 Serialization
Practical Example
New mbstring Functions
mb_trim Function
mb_ltrim Function
mb_rtrim Function
mb_ucfirst Function
mb_lcfirst Function
Example Usage
PHP 8.5
View All
RFCs Overview
Property Types
Class Expressions
Pattern Matching
Asynchronous Functions
Module System
Upcoming RFCs
Property Types
Class Expressions
Pattern Matching
Asynchronous Functions
Module System
Enum Improvements
WordPress
View All
Plugin Header
Plugin Name
Plugin URI
Description Field
Version Field
Author Field
License Field
Actions System
do_action Function
add_action Function
remove_action Function
has_action Function
did_action Function
current_action Function
Action Priority
Action Arguments
Filters System
apply_filters Function
add_filter Function
remove_filter Function
has_filter Function
current_filter Function
Filter Priority
Filter Arguments
Shortcodes
add_shortcode Function
remove_shortcode Function
shortcode_atts Function
do_shortcode Function
Nested Shortcodes
Example Shortcode
Custom Post Types
register_post_type Function
Labels Parameter
Public Parameter
Show UI Parameter
Supports Parameter
Menu Position
Menu Icon
Has Archive
Rewrite Slug
Post Meta
add_post_meta Function
get_post_meta Function
update_post_meta Function
delete_post_meta Function
Meta Boxes
Save Meta Box
Validation Rules
Sanitization Process
WP_Query Class
Query Arguments
WP_Query Object
The Loop
have_posts Method
the_post Method
get_posts Method
wp_reset_query Function
Meta Query
Taxonomy Query
Theme Development
Template Hierarchy
index.php
front-page.php
single.php
page.php
archive.php
category.php
tag.php
author.php
date.php
search.php
404.php
functions.php
style.css
screenshot.png
Theme Header Comment
Theme Functions
get_header Function
get_footer Function
get_sidebar Function
wp_head Hook
wp_footer Hook
body_class Function
Theme Tags
the_post_thumbnail Function
the_title Function
the_content Function
the_excerpt Function
the_permalink Function
the_author Function
the_date Function
comments_template Function
paginate_links Function
Block Editor
Register Block
Block Attributes
Block Render
Block Category
Dynamic Blocks
Block Styles
Laravel
View All
Eloquent Relationships
One To One
One To Many
Many To Many
Has Many Through
Polymorphic Relations
Eloquent Eager Loading
N Plus 1 Problem
Constraints on Load
Lazy Eager Loading
Eloquent Scopes
Local Scope
Global Scope
Anonymous Scope
Eloquent Events
Retrieved Event
PHPStan
View All
Introduction
Static Analysis Tool
Installation
Composer Command
Level System
Level 0
Level 1
Level 2
Level 3
Level 4
Level 5
Level 6
Level 7
Level 8
Level 9
Configuration
phpstan.neon File
Ignore Errors
Baseline File
Psalm
View All
Introduction
Advanced Static Analysis
Installation
Composer Command
Initialization
psalm --init
Level System
Levels 1 to 8
Annotations
@psalm-return
@psalm-param
@psalm-var
Taint Analysis
Prevent Security Issues
Plugins
Extended Functionality
Phan
View All
Introduction
Static Analyzer
Installation
Composer Command
Configuration
.phan/config.php
PHP-CS-Fixer
View All
Introduction
Coding Standards Fixer
Installation
Composer Command
Rules
PSR-12 Standard
Dry Run
See Changes Only
Apply Command
Fix Code Automatically
PHP_CodeSniffer
View All
Introduction
Detect Coding Violations
Installation
Composer Command
Standards
PSR1 PSR12
Report Command
Show Violation Details
PHPCBF Tool
Auto Fix Violations
Rector
View All
Introduction
Automated Code Refactoring
Installation
Composer Command
Rules Sets
Upgrade PHP Rules
Process Command
Apply Refactoring
Dry Run Option
Preview Changes Only
PHPMD
View All
Introduction
Mess Detector Tool
Installation
Composer Command
Rules Sets
Clean Code Rules
Report Formats
HTML XML Text
PHP GraphQL
View All
Library Setup
webonyx graphql-php
Schema Definition
ObjectType Class
Query Type
Root Query Object
Mutation Type
Data Modification Root
Resolver Functions
Field Value Providers
Type System
Scalar Types
Custom Scalar Types
DateTime JSON Type
Validation Rules
Query Syntax Checking
Error Handling
User Friendly Messages
Context Object
Shared Data Across Resolvers
GraphQLite Framework
Annotation Based GraphQL
Lighthouse PHP
GraphQL for Laravel
ReactPHP
View All
Introduction
Event Driven PHP
Installation
Composer Command
Event Loop
Main Execution Manager
Timer Function
Schedule Delayed Execution
Stream Component
Asynchronous Data Flow
HTTP Server
Non Blocking Web Server
Database Driver
Async MySQL Queries
DNS Component
Async DNS Resolution
Promise Interface
Deferred Result Handling
Amp Framework
View All
Introduction
Concurrency Framework
Installation
Composer Command
Promise System
Future Result Container
Parallel Processing
Multi Processing Support
HTTP Client
Async HTTP Requests
WebSocket Support
Real Time Communication
Swoole
View All
Introduction
High Performance Server
Installation
PECL Command
HTTP Server
Async PHP Server
Coroutines
Lightweight Threads
WebSocket Server
Real Time Features
OpenSwoole
View All
Introduction
Fork of Swoole
Async Comparison
View All
ReactPHP vs Amp
Use Cases Comparison
PHP gRPC
View All
Introduction
RPC Framework
Protocol Buffers
Interface Definition Language
proto3 Syntax
Latest Protocol Version
Protoc Compiler
Generate PHP Code
Service Definition
RPC Methods Names
Unary RPC
Single Request Response
Server Streaming
Multiple Response Messages
Client Streaming
Multiple Request Messages
Bidirectional Streaming
Both Sides Stream
grpc Library
PHP gRPC Extension
Server Implementation
Extend Generated Class
Client Implementation
Call Remote Methods
Authentication Methods
TLS SSL Token
Deadlines Setting
Request Timeout
Error Handling
Status Codes
Metadata Exchange
Custom Headers
Use Cases
Microservices Communication
PHP Event Sourcing
View All
Event Store
Event Database
Event Sourcing Pattern
Store State as Events
Aggregate Root
Entity with Rules
Event Recording
Save Events First
Event Replay
Rebuild State
Sourcing Repository
Load from Stream
Event Versioning
Handle Schema Changes
Projection Building
Build Read Models
Eventual Consistency
Read Models Lag
Prooph Library
Event Store Implementation
Broadway Library
Event Sourcing PHP
Snapshots
Performance Optimization
PHP CQRS
View All
Pattern Introduction
Command Query Separation
Command Side
Write Operations
Query Side
Read Operations
Command Object
Data Transfer Object
Query Object
Data Transfer Object
Command Handler
Process Command Logic
Query Handler
Process Query Logic
Command Bus
Route Commands
Query Bus
Route Queries
Separate Models
Write vs Read Models
SimpleBus Library
Command Query Bus
Ecotone Framework
CQRS Support
PHP DDD
View All
Domain Driven Design
Strategic Design
Entity Definition
Object with Identity
Value Object
Immutable Object
Aggregate Definition
Consistency Boundary
Aggregate Root
Entry Point
Repository Pattern
Data Access
Domain Service
Stateless Logic
Domain Event
Important Occurrence
Bounded Context
Model Boundary
Ubiquitous Language
Common Vocabulary
Application Service
Orchestrate Use Cases
Infrastructure Layer
Technical Implementation
Hexagonal Architecture
Ports and Adapters
Value Object Examples
Email Address
Entity Examples
User Account
Repository Example
Interface Contract
PHP Docker
View All
Introduction
What is Docker
Installation
Docker Desktop
Docker Engine
Basic Commands
docker pull
docker run
docker ps
docker stop
docker rm
docker images
Dockerfile
FROM Directive
RUN Directive
COPY Directive
WORKDIR Directive
EXPOSE Directive
CMD Directive
ENTRYPOINT Directive
PHP Dockerfile
Official PHP Image
Install Extensions
Enable Extensions
PECL Install
Composer Install
User Permission
Docker Compose
Introduction
compose.yml
Service Definition
Image Field
Ports Field
Volumes Field
Environment Field
Depends On Field
docker-compose up
docker-compose down
PHP MySQL Setup
PHP Nginx Setup
Redis Container
Multi Stage Build
Build Stage
Runtime Stage
Artifact Copy
Image Optimization
Alpine Linux
Layer Caching
Cleanup Temp Files
.dockerignore
Development Setup
Volume Mounting
Xdebug Setup
Hot Reload
Production Setup
Image Tagging
Registry Push
Deployment
PHP Kubernetes
View All
Introduction
K8s Overview
Basic Concepts
Pods
Nodes
Cluster
Deployment
Service
ConfigMap
Secrets
PHP Deployment
Deployment YAML
Container Image
Port Configuration
Resource Limits
Health Checks
Service Exposure
ClusterIP
NodePort
LoadBalancer
Ingress
Config Management
Environment Variables
ConfigMap Volume
Secret Volume
Scaling
Horizontal Scaling
Auto Scaling
Updates
Rolling Update
Rollback
PHP CI/CD
View All
Introduction
CI CD Meaning
GitHub Actions
YAML Workflow
On Trigger
Jobs Definition
Steps Sequence
Setup PHP Action
Install Dependencies
Run Tests
Cache Dependencies
Deploy Step
GitLab CI
.gitlab-ci.yml
Stages Definition
Job Script
Artifacts
Cache Directive
Jenkins
Introduction
Pipeline as Code
Blue Ocean
Plugins
Deployment Strategies
FTP Upload
RSYNC
SSH Deploy
Docker Deploy
Kubernetes Deploy
Best Practices
Test Before Deploy
Use Environment Variables
Parallel Jobs
PHP Monitoring
View All
New Relic
Introduction
Installation
Application Name
License Key
Transaction Traces
Error Tracking
External Services
Datadog
Introduction
Installation
Tracing Configuration
Profiling
Log Management
Prometheus
Introduction
Metrics Export
Counter Metric
Gauge Metric
Histogram Metric
Grafana
Dashboard
Error Tracking
Sentry Setup
Sentry PHP SDK
Capture Exception
Release Tracking
Bugsnag Setup
PHP Interview
View All
Basics Questions
What is PHP
PHP Full Form
PHP vs JavaScript
Variables Questions
Variable Scope Types
Superglobals List
Data Types Questions
Type Juggling Example
Operators Questions
== vs === Difference
Null Coalescing Operator
Control Structure
switch vs match
Functions Questions
Pass by Reference
Anonymous Function Example
Arrays Questions
array_map vs foreach
array_merge vs + Operator
Strings Questions
strpos vs preg_match
OOP Questions
Abstract vs Interface
Traits Purpose
Final Keyword Usage
Magic Methods List
Database Questions
MySQLi vs PDO
Prepared Statement Benefit
Security Questions
XSS Prevention Method
CSRF Protection Token
Password Hashing Function
SQL Injection Prevention
Session Questions
Session vs Cookie
session_regenerate_id Purpose
File Handling
move_uploaded_file Purpose
Error Handling
try catch finally
Performance
OPcache Purpose
Static Method Advantage
PHP 8 Features
Constructor Promotion Benefit
Match Expression Advantage
PHP Coding Challenges
View All
Challenge 1
Palindrome Check
Challenge 2
FizzBuzz Problem
Challenge 3
Factorial Function
Challenge 4
Fibonacci Series
Challenge 5
Prime Number Check
Challenge 6
Reverse String
Challenge 7
Array Sorting
Challenge 8
Remove Duplicates
Challenge 9
Find Largest Number
Challenge 10
Anagram Check
Challenge 11
Count Vowels
Challenge 12
Capitalize Words
Challenge 13
Binary Search
Challenge 14
Bubble Sort
Challenge 15
Two Sum Problem
Challenge 16
Array Rotation
Challenge 17
Longest Word
Challenge 18
URL Slugify
Challenge 19
CSV Parser
Challenge 20
JSON Formatter
PHP PSR Standards
View All
PSR-1
Basic Coding Standard
File Requirements
Side Effects
PSR-12
Extended Coding Style
Indentation Rule
Line Length
Visibility Keyword
Control Structure Spaces
Namespace Declaration
Use Declarations
PSR-4
Autoloading Standard
Class Naming
File Location
PSR-7
HTTP Message Interface
Stream Interface
URI Interface
PSR-11
Container Interface
Container Methods
PSR-14
Event Dispatcher
PSR-15
Request Handler
PSR-16
Simple Cache
PSR-18
HTTP Client
PHP Troubleshooting
View All
Common Errors
Parse Error
Fatal Error
Headers Already Sent
Maximum Execution Time
Memory Limit Error
White Screen of Death
Connection Refused
Access Denied
Debugging Tips
Log to File
Print Debug
Xdebug Step Debugging
PHP Resources
View All
Official Documentation
PHP Manual
News Sources
PHP Watch
Podcasts
PHP Town Hall
Youtube Channels
Program With Gio
The Codeholic
Blogs
Stitcher io
Brent Roose
Community
Laravel News
Reddit PHP
Discord Servers
PHP Chat
Slack Communities
PHP Town Hall
PHP Conclusion
View All
Learning Path
Beginner Level
Intermediate Level
Advanced Level
Expert Level
Career Opportunities
PHP Developer Role
Laravel Developer
WordPress Developer
Full Stack Developer
Market Demand
Enterprise Companies
Startups Choice
Remote Jobs
Salary Expectations
Entry Level
Mid Level
Senior Level
Future of PHP
PHP 8 Progress
JIT Compilation
Static Analysis
Community Growth
Final Advice
Keep Learning
Build Projects
Join Community
Contribute Open Source
Final Summary
PHP Learning Path
Resources List
Community Links
Career Advice
Final Congratulations
Complete Encyclopedia
PHP Extensions
View All
GD Library
imagecreatefromstring
imageflip Function
imagecropauto Function
imagefilter Grayscale
imagefilter Brightness
imagefilter Contrast
imagefilter Colorize
imagefilter Edgedetect
imagefilter Emboss
imagefilter Blur
imagefilter Pixelate
imagettfbbox
imagettftext
imagecopymerge
Practical Example
Imagick
new Imagick Object
readImage Method
resizeImage Method
cropImage Method
rotateImage Method
flipImage Method
flopImage Method
sharpenImage Method
blurImage Method
negateImage Method
sepiaToneImage Method
oilPaintImage Method
roundCorners Method
mergeImageLayers Method
getImageBlob Method
Practical Example
Intl Extension
Locale Class
Locale lookup
NumberFormatter Class
NumberFormatter Currency
NumberFormatter Percent
NumberFormatter Spellout
DateFormatter Class
DateFormatter Parse
Collator Class
Collator Compare
MessageFormatter Class
Transliterator Class
Practical Example
Zip Archive
ZipArchive Class
open Method
addFile Method
addEmptyDir Method
addFromString Method
extractTo Method
deleteName Method
renameName Method
setPassword Method
getFromName Method
Practical Example
FTP
ftp_connect Function
ftp_login Function
ftp_pasv Function
ftp_chdir Function
ftp_nlist Function
ftp_get Function
ftp_put Function
ftp_delete Function
ftp_mkdir Function
ftp_rmdir Function
ftp_chmod Function
Practical Example
SSH2
ssh2_connect Function
ssh2_auth_password Function
ssh2_auth_pubkey_file Function
ssh2_exec Function
ssh2_scp_recv Function
ssh2_scp_send Function
ssh2_sftp Function
Practical Example
SOAP
SoapClient Class
SoapServer Class
__call Method
__getFunctions Method
__getTypes Method
SoapFault Exception
WSDL Mode
Non WSDL Mode
SoapHeader Class
Practical Example
LDAP
ldap_connect Function
ldap_bind Function
ldap_search Function
ldap_get_entries Function
ldap_add Function
ldap_modify Function
ldap_delete Function
ldap_compare Function
ldap_first_entry Function
ldap_next_entry Function
Practical Example
PHP Error Solutions
View All
Parse Error
Unexpected T_VARIABLE
Unexpected T_STRING
Unexpected T_IF
Unexpected T_EOF
Fatal Error
Class Not Found
Call to Undefined Function
Call to Member Function
Cannot Redeclare Function
Allowed Memory Exhausted
Maximum Execution Time
Warning
Headers Already Sent
Cannot Modify Header
Division by Zero
Invalid Argument Supplied
file_get_contents Failed
mysqli_fetch_assoc Error
Notice
Undefined Variable
Undefined Index
Undefined Offset
Trying to Get Property
Deprecated
Function Deprecated
Curly Brace String Access
create_function Deprecated
mysql_* Functions
Database Error
Connection Refused
Access Denied
Unknown Database
Table Doesn't Exist
Duplicate Entry
Syntax Error
Deadlock Found
Session Error
session_start Failed
Cannot Start Session
Upload Error
UPLOAD_ERR_INI_SIZE
UPLOAD_ERR_PARTIAL
UPLOAD_ERR_NO_FILE
UPLOAD_ERR_CANT_WRITE
JSON Error
JSON_ERROR_SYNTAX
JSON_ERROR_UTF8
JSON_ERROR_DEPTH
cURL Error
SSL Certificate Error
Connection Timeout
HTTP Code 404
HTTP Code 403
Composer Error
Class Not Found
Memory Limit
Version Conflict
Authentication Failed
Rate Limit Exceeded
SSL Certificate
PHP php.ini
View All
Core Directives
error_reporting Setting
display_errors Setting
log_errors Setting
error_log Setting
memory_limit Setting
max_execution_time
max_input_time
post_max_size
upload_max_filesize
max_file_uploads
date.timezone Setting
Session Directives
session.save_handler
session.save_path
session.name
session.gc_maxlifetime
session.cookie_secure
session.cookie_httponly
session.cookie_samesite
OPcache Directives
opcache.enable
opcache.memory_consumption
opcache.max_accelerated_files
opcache.revalidate_freq
opcache.validate_timestamps
opcache.jit
opcache.jit_buffer_size
Upload Directives
file_uploads
upload_tmp_dir
upload_max_filesize
post_max_size
max_file_uploads
Extension Directives
extension_dir
extension=php
zend_extension
PHP WebSockets
View All
Ratchet Installation
Composer Command
Ratchet Server
MessageComponentInterface
Ratchet Methods
onOpen Method
onMessage Method
onClose Method
onError Method
Ratchet Server Script
Server PHP File
Ratchet Client
JavaScript WebSocket
Ratchet Events
Connection Event
Message Event
Close Event
BeyondCode WebSocket
Installation Command
Pusher Integration
WebSocket Routes
Event Broadcasting
Laravel Integration
Practical Example
Chat Application Setup
Notification System
Live Dashboard
WebSocket vs AJAX
Persistent Connection
WebSocket vs SSE
Bidirectional
Use Cases
Real time Games
Trading Platform
Collaborative Editing
PHP Machine Learning
View All
PHP-ML Library
Installation Command
Classification
Classification Overview
SVC Classifier
kNearestNeighbors
NaiveBayes Classifier
DecisionTree
RandomForest
Regression
Regression Overview
LinearRegression
MultipleRegression
LeastSquares
Clustering
Clustering Overview
KMeans
DBSCAN
Association
Association Rule Learning
Apriori Algorithm
Eclat Algorithm
Feature Extraction
Tokenization
Stop Words Removal
Stemming
TfIdf Calculator
Model Evaluation
Confusion Matrix
Cross Validation
Training Test Split
Practical Example
Spam Detection
Sentiment Analysis
Product Recommendation
Price Prediction
Weather Prediction
Stock Prediction
Image Classification
Datasets
Dataset CSV Loading
Dataset Array Conversion
Dataset Splitting
Model Persistence
Save Model
Load Model
PHP Serialization
Save Model File
Load Model File
Pickle Alternative
Limitations
PHP Not for Deep Learning
Large Dataset Performance
PHP Memory Issues
Training Speed
Algorithm Availability
Use Cases
Small Scale ML Projects
Pipeline
Create Pipeline
Add Transformer
Add Estimator
Fit Pipeline
Predict Pipeline
Cross Validation
Stratified Split
KFold Split
Random Split
Metrics
Accuracy Score
Precision Score
Recall Score
F1 Score
Confusion Matrix Display
Data Preprocessing
Normalization
Standardization
Missing Values
Label Encoding
One Hot Encoding
Alternatives
TensorFlow PHP
ONNX Runtime
PHP Blockchain
View All
Web3 PHP Library
Installation Command
Web3 PHP
Web3 Class
Eth Module
Net Module
Personal Module
Shh Module
Blockchain Basics
What is Blockchain
Blocks Structure
Proof of Work
Consensus Algorithm
Cryptocurrency
Bitcoin Basics
Ethereum Basics
Smart Contracts
Contract Deployment
Contract Call
Contract Events
Wallet Management
Create Wallet
Private Key Storage
Public Key Derivation
Transactions
Send Transaction
Check Balance
Transaction Status
Token Management
Create Token
Token Transfer
Token Balance
API Integration
Infura API
Alchemy API
Web3 Provider
Practical Example
Create Wallet App
Check Balance Tool
Send ETH Script
Smart Contract Interaction
Crypto Payment Gateway
PHP Desktop Apps
View All
NativePHP
Introduction
Installation Command
Create Project
Run App
Window Management
Menu System
Tray Icon
File Dialog
Database Storage
Settings Storage
Keyboard Shortcuts
Notifications
Electron PHP
PHP Backend
ExpressPHP Integration
PHP GTK
Introduction
Installation
Window Creation
Widgets Usage
Event Handling
CSS Styling
PHP Desktop
Introduction
Use Cases
Point of Sale System
Inventory Management
School Management
Hotel Management
PHP Desktop
View All
PHP Desktop
Installation
Configuration
Run Application
PHP Mobile Backend
View All
API Design
RESTful Endpoints
JSON Response Format
HTTP Status Codes
Versioning Strategy
Authentication
JWT Implementation
OAuth2 Server
API Keys
Social Login
Push Notifications
FCM Integration
APNS Integration
OneSignal API
WebPush Library
File Uploads
Image Upload API
Image Processing
Cloud Storage
Database
Optimize for Mobile
Pagination Support
Filters and Sorting
Real-time Features
WebSocket Server
Long Polling
Server Sent Events
Offline Support
Data Sync Strategy
Last Sync Timestamp
Performance
Caching Strategy
Gzip Compression
API Gateway
Security
SSL Certificate
Input Validation
Rate Limiting
Practical Example
User Registration API
User Login API
Profile Management API
Image Upload API
Push Notification API
PHP Legacy Migration
View All
PHP 5.x to 7.x
Minimum PHP Version
Deprecated Features
Constructor Change
Reserved Keywords
Error Handling
MySQL to MySQLi
Register Globals
Magic Quotes
Safe Mode
PHP 7.x to 8.x
Minimum PHP Version
Named Arguments
Union Types
Attributes
Match Expression
Stringable Interface
Constructor Promotion
Fatal Errors
Deprecated Functions
JSON Extension
Extension Changes
MySQL Extension Removed
Mcrypt Removed
EREG Functions Removed
Magic Quotes Removed
Code Analysis
Static Analysis Tool
Deprecated Detection
Composer Check
Testing
Unit Tests Before Migration
Regression Testing
Staged Migration
Small Steps First
Feature Toggle
Server Configuration
PHP Version Update
Extension Installation
Stuck Projects
No Longer Maintained
Container Wrapper
Gradual Rewrite
API Layer
Parallel Running
PHP Advanced Queues
View All
RabbitMQ Setup
Install RabbitMQ
RabbitMQ PHP
php-amqplib Package
Connection Setup
Queue Declaration
Producer Code
Consumer Code
Exchange Types
Queue Binding
Message Acknowledgment
Dead Letter Queue
Delayed Messages
RPC Pattern
Kafka Setup
Install Kafka
Kafka PHP
RdKafka Library
Producer Configuration
Producer Send
Consumer Configuration
Consumer Subscribe
Consumer Consume
Consumer Commit
Partition Assignment
Avro Serialization
Redis Pub Sub
Subscribe Pattern
Publish Message
Queue Comparison
RabbitMQ vs Kafka
Redis Pub Sub vs Queues
Queue Use Cases
Email Sending Queue
Image Processing Queue
Report Generation Queue
Webhook Delivery Queue
Data Sync Queue
Queue Monitoring
Queue Length Monitoring
Failed Message Tracking
Processing Time Tracking
PHP Advanced Monitoring
View All
Prometheus Setup
Install Prometheus
Prometheus Configuration
prometheus.yml File
PHP Metrics
prometheus_client_php
Counter Metric
Gauge Metric
Histogram Metric
Summary Metric
Expose Endpoint
Grafana Setup
Install Grafana
Grafana Dashboard
Add Prometheus Source
Create Dashboard
Alert Rules
Variable Support
Custom Metrics
Database Query Count
Cache Hit Ratio
API Response Time
Error Rate Tracking
Business Metrics
Log Aggregation
ELK Stack Setup
Monolog to Elasticsearch
Log Analysis
Alerting
Prometheus Alertmanager
Email Alerts
Slack Integration
PagerDuty Integration
Tracing
OpenTelemetry PHP
Jaeger Setup
Trace Propagation
PHP Advanced CI CD
View All
CI Pipeline Example
GitHub Actions Full
GitLab CI Full
Jenkins Pipeline
Circle CI Config
Travis CI Config
Testing in CI
PHPUnit Execution
Code Coverage Report
Static Analysis Run
Linting Run
Deployment Strategies
FTP Deployment
RSYNC Deployment
SSH Deployment
Docker Build
Kubernetes Apply
Blue Green Deployment
Canary Deployment
Secrets Management
Environment Secrets
Vault Integration
AWS Secrets Manager
Caching Strategy
Composer Cache
NPM Cache
Docker Layer Cache
Parallel Jobs
Matrix Builds
Parallel Test Execution
Notifications
CI Status Notifications
Deployment Notifications
Real World Example
Laravel Deployment
WordPress Deployment
API Project Pipeline
PHP Checklist
View All
Code Review Checklist
Before Commit
Code Quality
Security Check
Performance Check
Error Handling
Deployment Checklist
Before Deploy
After Deploy
Security Checklist
Authentication
Authorization
Session Management
Data Validation
File Security
API Security
Dependency Security
Server Security
Performance Checklist
Code Optimization
Caching Strategy
Database Optimization
Asset Optimization
PHP Cheatsheet
View All
Basic Syntax
Variables
Constants
Data Types
Comments
Control Structures
if else
switch
match
Loops
for Loop
while Loop
foreach Loop
Functions
Define Function
Return Type
Arrow Function
Anonymous Function
Arrays
Create Array
Add Element
Remove Element
Check Exists
Array Functions
Strings
Create String
String Functions
Superglobals
GET Data
POST Data
Session Data
Cookie Data
Server Data
Files Data
Database
MySQLi Connect
PDO Connect
Query Execute
Fetch Data
Prepared Statement
Last Insert ID
Session
Session Start
Set Variable
Destroy Session
Regenerate ID
Cookie
Set Cookie
Get Cookie
Delete Cookie
File Handling
Read File
Write File
Delete File
Check Exists
Get Size
File Upload
Check Upload
Move File
Get Error
OOP
Class Definition
Object Creation
Properties
Methods
Constructor
Destructor
Inheritance
Abstract Class
Interface
Trait
Static
Magic Methods
Security
Password Hash
Password Verify
Prevent XSS
CSRF Token
SQL Prevention
Input Filter
Session Secure
Cookie Secure
JSON
Encode JSON
Decode JSON
Last Error
Error Message
cURL
Initialize
Set Options
Execute
Close
Get Error
Get Info
Date Time
Current Timestamp
Format Date
Parse Date
Create DateTime
DateTime Format
DateInterval
Timezone
Regular Expressions
preg_match
preg_match_all
preg_replace
preg_split
preg_quote
PHP Interview Prep
View All
Basic Questions
What is PHP Answer
PHP Full Form
PHP vs JavaScript
PHP vs Python
Variables Scope
Local vs Global
Static Variable
Data Types
Type Juggling
Operators
== vs ===
?? Operator
Control Structures
switch vs match
Functions
Pass by Reference
Anonymous Function
Arrow Function
Arrays
array_map vs foreach
array_merge vs +
Strings
strpos vs preg_match
OOP
Abstract vs Interface
Trait Purpose
final Keyword
Magic Methods List
Database
MySQLi vs PDO
Prepared Statement Benefit
Security
XSS Prevention
CSRF Prevention
Password Hashing
SQL Prevention
Session
Session vs Cookie
session_regenerate_id
File Upload
move_uploaded_file
Error Handling
try catch finally
Performance
OPcache Purpose
Static Method Advantage
PHP 8
Constructor Promotion
Match Expression
Nullsafe Operator
Union Types
Attributes
Enums
Readonly Properties
Composer
Autoloading
Version Constraints
Testing
PHPUnit Purpose
Assertions Types