দৃশ্যপট:
trait A {
function calc($v) {
return $v+1;
}
}
class MyClass {
use A;
function calc($v) {
$v++;
return A::calc($v);
}
}
print (new MyClass())->calc(2); // should print 4
এই কোডটি কাজ করে না, এবং উত্তরাধিকার সূত্রে যেমন কোনও বৈশিষ্ট্য ফাংশন কল করার কোনও উপায় আমি পাই না। আমি কলিং চেষ্টা self::calc($v)
, static::calc($v)
, parent::calc($v)
,A::calc($v)
এবং নিম্নলিখিত:
trait A {
function calc($v) {
return $v+1;
}
}
class MyClass {
use A {
calc as traitcalc;
}
function calc($v) {
$v++;
return traitcalc($v);
}
}
কিছুই কাজ করে না।
এটি কার্যকর করার কোনও উপায় আছে বা আমার অবশ্যই এটির চেয়ে আরও জটিল জটিল বৈশিষ্ট্য ফাংশনটি সম্পূর্ণরূপে ওভাররাইড করতে হবে :)