ट्रेट्स में ट्रेट्स का उपयोग
ट्रेट्स, कक्षाओं की तरह, अन्य ट्रेट्स का भी उपयोग कर सकते हैं। आइए एक उदाहरण देखें। मान लीजिए कि हमारे पास दो विधियों वाला ऐसा ट्रेट है:
<?php
trait Trait1
{
private function method1()
{
return 1;
}
private function method2()
{
return 2;
}
}
?>
मान लीजिए कि हमारे पास एक और ट्रेट है:
<?php
trait Trait2
{
private function method3()
{
return 3;
}
}
?>
आइए ट्रेट Trait2 में
ट्रेट Trait1 को कनेक्ट करें:
<?php
trait Trait2
{
use Trait1; // पहले ट्रेट का उपयोग करें
private function method3()
{
return 3;
}
}
?>
ऐसे कनेक्शन के बाद, Trait2
के अपनी विधियों के अलावा ट्रेट Trait1
की विधियाँ भी होंगी। आइए इसे सत्यापित करें: एक
Test वर्ग बनाएं, इसमें ट्रेट
Trait2 को कनेक्ट करें और सुनिश्चित करें कि हमारी कक्षा में
पहले ट्रेट की विधियाँ,
साथ ही दूसरे ट्रेट की विधियाँ दिखाई देंगी:
<?php
class Test
{
use Trait2; // दूसरा ट्रेट कनेक्ट करें
public function __construct()
{
echo $this->method1(); // पहले ट्रेट की विधि
echo $this->method2(); // पहले ट्रेट की विधि
echo $this->method3(); // दूसरे ट्रेट की विधि
}
}
?>
स्वयं मेरे जैसे ही ट्रेट बनाएं,
और उन्हें Test वर्ग में कनेक्ट करें।
इस वर्ग में getSum विधि बनाएं,
जो कनेक्ट किए गए ट्रेट्स की विधियों के परिणामों का योग लौटाती है।