Skip to content
PHP BOOK
Search
Ctrl
K
Cancel
GitHub
PHP Book
1. Introduction
2. Table of Contents
3. About PHP
4. Why PHP?
5. About this Book
6. Installing PHP
7. Modern PHP Development
PHP Fondamental
8. PHP Fondametal
9. Primitive Types
10. Control Flow
11. Operators in PHP
Variable and constant
12. Variables and constants
13. PHP Superglobals
Data Types
14. Scalar Types
15. Compound Types
16. Special Types
17. Type System
18. Operators
Control Structures
19. Conditional Statement
20. Alternative Syntax
21. Loops
Functions
22. Defining Function
23. Function Arguments
24. Return Values
24. Variable Functions
25. Anonymous Functions
26. Callback
27. Built-in Functions
Arrays
28. Array Basics
29. Array Functions
30. Array Operations
31. Array Iterations
31. Array Operations
OOP in PHP
32. Classes And Objects
33. Constructors and Destructors
34. Visibility
35. Inheritance
36. Abstract Classes and Methods
37. Interface
38. Traits
39. Static Members
40. Magic Methods
42. Object Cloning
42. Object Comparation
43. Anonymous Classes
Advanced OOP
53. Backed Enums
54. Basic Enums
55. Class Constants
56. Class Type Hints
57. Custom Getter and Setter Methods
58. Dependency Injection
59. Design Patterns
60. Enum Interfaces
61. Enum Methods
62. Enum Traits
63. Enumerations in PHP 8.1
64. Factory Pattern
65. Get and Set Methods
66. Interface Type Hints
67. Intersection Types in PHP 8.1
68. Mixed Type in PHP 8
69. Observer Pattern
70. Property Accessors
71. Self and Parent Types
72. Singleton Pattern
73. Strategy Pattern
74. Type Declarations in OOP
75. Union Types in PHP 8
76. Visibility for Constants
Error and Exceptions
68. Error Types
69. Error Class (PHP 7)
70. Exception Class
71. Exceptions
72. Custom Exceptions
73. Exception Hierarchy
74. Multiple Catch Blocks
75. Try Catch Finally
76. Fatal Errors
77. Warnings
78. Notices
79. Parse Errors
80. Arithmetic Error
81. Division By Zero Error
82. Type Error
83. Value Error
84. Throw Expression (PHP 8)
85. Error Handling Functions
86. Error Reporting Configuration
87. error_reporting Function
88. set_error_handler
89. trigger_error
Namespaces
90. Namespace Basics
91. Declaring Namespaces
92. Using Namespaces
93. The use Keyword
94. Aliasing and Importing
95. Global Namespace
96. Sub-namespaces
97. Group Use Declarations
98. Autoloading with Namespaces
99. PSR-4 Autoloading
100. Composer Autoloading
File and Directories
101. File System Functions
102. Opening and Closing Files
103. Reading Files
104. Writing Files
105. File Information
106. Directory Functions
107. Creating Directories
108. Reading Directories
109. Directory Iteration
110. File Uploads
111. $_FILES Superglobal
112. File Upload Configuration
113. Security Considerations
114. Streams
115. Stream Contexts
116. Stream Filters
117. Stream Wrappers
String Manipulation
118. String Functions
119. Searching and Replacing
120. Formatting
121. Encoding and Escaping
122. Comparison
123. Regular Expressions
124. PCRE Functions
125. Pattern Syntax
126. Modifiers
127. Multibyte String Functions
128. mbstring Extension
129. Character Encoding
130. String Interpolation
131. Variable Interpolation
132. Complex Syntax
Date and Time
133. DateTime Class
134. Creating DateTime Objects
135. Formatting Dates
136. Date Arithmetic
137. Timezone Handling
138. Date and Time Functions
139. time()
140. date()
141. strtotime()
142. getdate()
143. DateInterval and DatePeriod
144. Timezone Classes
145. Carbon Library (Third-party)
Web dev with PHP
146. HTTP Basics
147. Request/Response Cycle
148. Headers
149. Status Codes
150. Forms Processing
151. GET vs POST
152. Form Validation
153. File Uploads
154. Sessions
155. Starting Sessions
156. Session Variables
157. Session Configuration
158. Session Security
159. Cookies
160. Setting Cookies
161. Reading Cookies
162. Cookie Security
163. Headers and Output Buffering
164. HTTP Authentication
165. CORS (Cross-Origin Resource Sharing)
Database Integration
166. PDO (PHP Data Objects)
167. PDO Connection
169. Transactions
170. Error Handling
171. MySQLi
172. Procedural Style
173. Object-Oriented Style
174. Prepared Statements
175. Multiple Statements
176. Database Design Patterns
177. Active Record
178. Data Mapper
179. Repository Pattern
180. ORM (Object-Relational Mapping)
181. Doctrine
182. Eloquent (Laravel)
Security
183. Input Validation and Sanitization
184. Filter Functions
185. HTML Special Characters
186. Regular Expressions
187. SQL Injection Prevention
188. Cross-Site Scripting (XSS)
189. Cross-Site Request Forgery (CSRF)
190. Session Security
191. Password Hashing
192. password_hash()
193. password_verify()
194. HTTPS and SSL/TLS
195. Security Headers
196. File Upload Security
Performance and Optimization
197. Opcode Caching
198. OPcache
199. APC
200. Profiling PHP Applications
201. Xdebug
202. Blackfire
203. Memory Management
204. Database Optimization
205. Caching Strategies
206. Memcached
207. Redis
208. APCu
GitHub
Notices
Notices inform developers about minor issues.
Example
Section titled “Example”
1
echo
$name
;