0
我試圖使用一個接口來替代缺乏PHP中的枚舉,但它似乎並沒有按照我希望的方式工作。從類中獲取枚舉類型的值?
下面是代碼:
interface Brands
{
const abrand = "A Brand";
const anotherbrand = "Another Brand";
}
class Product
{
private $brand;
function __construct() {
}
public function getBrand() {
return Brands::$this->brand;
}
public function setBrand($value) {
$this->brand = $value;
}
}
$product = new Product();
$product->setBrand("aproduct");
echo $product->getBrand();
有人可以解釋爲什麼輸出abrand
而不是A Brand
?
爲什麼你使用'品牌:: $這個 - > brand',而不是簡單的'品牌:: abrand'?奇怪的是,你想模仿枚舉,同時仍然想要使用PHP的動態結構,比如這個'Brands :: $ this-> brand'。無論如何,似乎'Brands ::'前綴被完全忽略,它只返回'$ this-> brand'的值。 –
哦,男人,這讓我想......這是愚蠢的(見答案) – Microsis
哈哈,沒問題。我有一個很好的橡皮鴨的記錄(對於那些不瞭解http://en.wikipedia.org/wiki/Rubber_duck_debugging)的記錄。 –