PHP OOP හි trait හි වියුක්ත ක්රම
Trait තුළ ඇතැම් ක්රම වියුක්ත ලෙස ප්රකාශ කළ හැකිය. මෙම අවස්ථාවේදී, මෙම trait භාවිතා කරන වර්ගය එවැනි ක්රමයක් ක්රියාත්මක කිරීමට බැඳී සිටී. මෙහිදී trait හි වියුක්ත ක්රම පුද්ගලික විය නොහැක.
අපි උදාහරණයක් දෙස බලමු. අපට මේ වගේ trait එකක් ඇතැයි සිතමු:
<?php
trait TestTrait
{
public function method1()
{
return 1;
}
abstract public function method2();
}
?>
අපගේ trait එක Test වර්ගය භාවිතා කරයි යැයි සිතමු.
Trait එක තුළ වියුක්ත ක්රමයක් තිබීම පරිගණක වැඩසටහන්කරුවාට
එය වර්ගය තුළ ක්රියාත්මක කිරීමට බැඳී සිටින අතර, එසේ නොමැතිනම්
PHP දෝෂයක් ඇති වේ.
අපි Test වර්ගය method2 ක්රමය සමඟ සාදමු:
<?php
class Test
{
use TestTrait; // trait එක භාවිතා කරමු
// වියුක්ත ක්රමය ක්රියාත්මක කරමු:
public function method2()
{
return 2;
}
}
new Test;
?>
මගේ TestTrait trait එකේ කේතය සහ
මගේ Test වර්ගයේ කේතය පිටපත් කරන්න.
වර්ගයෙන් method2 ක්රමය ඉවත් කරන්න.
එහි ක්රියාත්මක කිරීම නොමැති වීම PHP දෝෂයකට
ඇති කරන බවට විශ්වාස කරන්න.