PHP 7 interview question · Most asked
What are traits and when were they introduced?
Summary
Traits (PHP 5.4) are reusable sets of methods and properties that are copied into classes with use, providing horizontal code reuse without inheritance.
Longer Answer
They're useful for cross-cutting behavior (timestamps, soft deletes in Eloquent). Overuse leads to hidden dependencies, because traits often assume host-class properties. Conflicts are resolved with insteadof and as.
Key Points
- Compile-time copy-paste into classes
- Not a type, so can't type-hint
- Can declare abstract methods to require host members
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?