1️⃣ What are the major differences between PHP 5 and PHP 7?
Answer:
PHP 7 introduced new features like scalar type declarations, return type declarations, the spaceship operator (<=>
), null coalescing (??
), anonymous classes, and major performance improvements over PHP 5.
2️⃣ What is a trait in PHP and why is it used?
Answer:
A trait allows code reuse in single inheritance languages like PHP. It’s similar to a class but cannot be instantiated. Traits are used to avoid duplication of methods across classes.
phpCopyEdittrait Logger {
public function log($msg) {
echo $msg;
}
}
3️⃣ Explain the use of namespace
in PHP.
Answer:
Namespaces prevent name collisions between classes, functions, and constants in large applications or when using multiple libraries.
phpCopyEditnamespace App\Controllers;
4️⃣ Difference between require_once
and include_once
?
Answer:
Both include files only once during execution.
require_once
throws a fatal error if the file is missing.include_once
throws a warning and continues execution.
5️⃣ How does PDO
differ from mysqli
?
Answer:PDO
(PHP Data Objects) is a database access layer supporting multiple databases. mysqli
is specific to MySQL. PDO supports prepared statements, named placeholders, and more database flexibility.
6️⃣ How do you handle errors in PHP?
Answer:
Use try-catch
blocks (with Exception
classes), error_reporting()
, and custom error handlers via set_error_handler()
.
7️⃣ What is the difference between public
, private
, and protected
?
Answer:
public
: Accessible everywhereprotected
: Accessible within the class and its subclassesprivate
: Accessible only within the class itself
8️⃣ What are magic methods in PHP? Name a few.
Answer:
Magic methods start with __
(double underscore). Examples:
__construct()
__destruct()
__get()
,__set()
__call()
,__toString()
9️⃣ What is the difference between GET
and POST
methods?
Answer:
GET
: Appends data to URL, less securePOST
: Sends data in the request body, more secure
🔟 How do you prevent SQL injection in PHP?
Answer:
Use prepared statements with PDO
or mysqli
, and never directly insert user input into SQL queries.
1️⃣1️⃣ What is Composer in PHP?
Answer:
Composer is a dependency manager for PHP. It allows you to manage and install libraries, autoload classes, and handle versioning.
1️⃣2️⃣ How does PHP handle sessions?
Answer:
Sessions store user data across pages using $_SESSION
. Start a session with session_start()
.
1️⃣3️⃣ What are anonymous functions or closures in PHP?
Answer:
Functions without a name, often passed as arguments:
phpCopyEdit$greet = function($name) { return "Hello, $name"; };
1️⃣4️⃣ What is the use of __autoload()
and spl_autoload_register()
?
Answer:
They automatically include class files when a class is instantiated. spl_autoload_register()
is preferred in modern PHP.
1️⃣5️⃣ What are the different types of arrays in PHP?
Answer:
- Indexed arrays
- Associative arrays
- Multidimensional arrays
1️⃣6️⃣ Explain static
keyword in PHP.
Answer:
Used to declare class properties or methods that belong to the class rather than any object.
1️⃣7️⃣ What is the purpose of final
keyword in PHP?
Answer:
Prevents a method from being overridden or a class from being extended.
1️⃣8️⃣ How does object cloning work in PHP?
Answer:
Use clone
keyword. Customize cloning by defining the __clone()
method.
1️⃣9️⃣ Difference between ==
and ===
?
Answer:
==
compares values only===
compares both value and type
2️⃣0️⃣ What are cookies in PHP and how are they different from sessions?
Answer:
Cookies are stored on the client-side, sessions are stored server-side. Cookies persist beyond browser sessions.
2️⃣1️⃣ How do you improve performance in a PHP application?
Answer:
- Use opcode caching (e.g., OPcache)
- Avoid unnecessary database queries
- Use proper indexing
- Optimize loops and functions
- Minimize file I/O
🏁 Final Tip:
Prepare real code examples and real-world scenarios for each of these questions — interviewers love practical explanations.