Pengubah Suai Akses dan Trait dalam OOP dalam PHP
Perhatian anda harus diberikan kepada fakta bahawa penggunaan trait - bukannya pewarisan. Dalam pewarisan, kaedah dan sifat persendirian tidak diwarisi.
Dalam trait, keadaan adalah sebaliknya: dalam kelas yang menggunakan trait, kedua-dua kaedah dan sifat awam dan persendirian akan boleh diakses.
Mari kita lihat contoh. Katakan kita mempunyai trait berikut dengan kaedah persendirian:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Sambungkan trait kami ke kelas:
<?php
class Test
{
use TestTrait;
}
new Test;
?>
Gunakan kaedah persendirian trait:
<?php
class Test
{
use TestTrait; // sambungkan trait
public function __construct()
{
echo $this->method(); // akan memaparkan '!!!'
}
}
new Test;
?>