PHP 7 interview question · Most asked
Explain `public`, `protected` and `private` visibility in PHP.
Summary
public members are accessible everywhere, protected members within the class and its subclasses, and private members only within the declaring class.
Longer Answer
Visibility in PHP is class-based, not object-based: an object can access private members of another instance of the same class (useful in equals() methods). Prefer the narrowest visibility; private + final classes reduce the API surface you must maintain.
Key Points
- Public → anywhere
- Protected → class hierarchy
- Private → declaring class only
- Class-based, not instance-based
More most-asked PHP 7 questions
- What are typed properties in PHP 7.4?
- How do return type declarations work in PHP 7?
- What were the headline improvements of PHP 7.0 over PHP 5.6?
- Explain scalar type declarations and coercive vs strict mode in PHP 7.
- Explain the `Throwable`, `Error` and `Exception` hierarchy introduced in PHP 7.
- What are nullable types in PHP 7.1?
- What does the null coalescing operator `??` do, and how is it different from `isset()` with a ternary?
- What are arrow functions in PHP 7.4 and how do they differ from closures?