🔴 Advanced · Lesson 23
Traits
Traits
What is a Trait?
A trait lets you reuse a set of methods in multiple classes — solving PHP's "no multiple inheritance" limit. You include a trait with the
use keyword.Example
trait Logger {
public function log($msg) {
echo "LOG: $msg";
}
}
class User {
use Logger;
}
$u = new User();
$u->log("User created"); // LOG: User created
Trait vs Interface
| Trait | Interface |
|---|---|
| contains real method code | only method names (no body) |
| for code reuse | for a common contract |
Summary
- A trait shares real method code across classes via
use. - Interface = contract (no code); trait = reusable code.
Trait क्या है?
Trait आपको methods का set कई classes में reuse करने देता है — PHP की "no multiple inheritance" सीमा हल करता है। Trait को
use keyword से शामिल करते हैं।Example
trait Logger {
public function log($msg) {
echo "LOG: $msg";
}
}
class User {
use Logger;
}
$u = new User();
$u->log("User created"); // LOG: User created
Trait बनाम Interface
| Trait | Interface |
|---|---|
| असली method code रखता है | सिर्फ method names (no body) |
| code reuse के लिए | common contract के लिए |
सारांश
- Trait
useसे असली method code कई classes में share करता है। - Interface = contract (no code); trait = reusable code।