php – 使用特徵 trait 定義屬性

直接在 trait 裡面定義即可,寫法如同 class 一樣。

<?php
trait Bag {
    //定義特徵的屬性
    public $color = 'red';
    public $size  = 'small';
}

class Cart {
    use Bag;
}

$Cart = new Cart;
echo $Cart->color; // red
echo $Cart->size; // small

但如果 class 中也定義了 trait 已有的屬性,且屬性質相異,那就會發生錯誤。

trait Bag {
    public $color = 'red';
    public $size  = 'small';
}

class Cart {
    use Bag;
    public $color = 'green'; // 相同不會錯誤
    public $color = 'large'; // 相異發生錯誤
}

 


發表迴響