請問在 php 中
我如果把類別名稱用陣列元素替代
會不會有什麼問題呢
例如:
$type = 'aaa';
$className = array(
'aaa' => 'class_aaa',
'bbb' => 'class_bbb',
'ccc' => 'class_ccc'
);
$obj = new $className[$type]();
目前是可以執行
可是擔心會不會這是錯誤的用法
而之後出現問題
謝謝大家
如費大師所言,可以執行就等於可以用。
不過我建議,可以的話,用個意義比較明顯的變數賦值後,再當類別用。比如:
$class = $className[$type];
$obj = new $class();
一來比較好懂,二來可以避掉極難除錯的運算子優先順序問題。
如果是錯誤的用法,就不會讓你可以執行了阿...
不過沒有好理由的話,並不建議這樣做,因為可能會比較難維護。