Perubahan Hak Akses Metode Trait dalam OOP di PHP
Di dalam trait, Anda dapat menggunakan pengubah akses
apa pun untuk metode (yaitu public, private
atau protected). Namun, jika diperlukan,
dalam kelas itu sendiri pengubah ini dapat diubah
menjadi yang lain. Untuk melakukan ini, dalam tubuh
use setelah kata kunci as, Anda perlu menentukan
pengubah akses yang baru.
Mari kita lihat sebuah contoh. Misalkan kita memiliki trait berikut dengan metode privat:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Mari sambungkan trait kita ke kelas:
<?php
class Test
{
use TestTrait;
}
?>
Mari ubah metode di kelas menjadi publik:
<?php
class Test
{
use TestTrait {
TestTrait::method as public;
}
}
?>
Mari kita periksa kerja metode publik dari luar kelas:
<?php
$test = new Test;
echo $test->method(); // akan menampilkan '!!!'
?>