我想在我的項目中使用特徵,對於多重特性我想使用特徵。動態創建具有特徵綁定的類
所以我創造了一些特質使用例如:tItem_Epic,tItem_Weapon,Item_Driver
當我創建劍新的類,我想我可以用eval創建類:
<?php
function new_item_class($type)
{
eval('class Item_'.ucfirst($type).' extends Item_Driver { use tItem_Epic, tItem_Weapon; }');
}
?>
這是一個例。還有一些更改eval過程的參數(如:項目質量等)。
這是否會減慢進度?或者我應該爲每個項目類型創建一個文件並在需要時調用它們?哪一個會更快?
特徵不是多重繼承。它是基於編譯器的複製和粘貼。那麼你在那裏做什麼(基於用戶代碼執行的複製和粘貼使用基於編譯器的複製和粘貼)看起來有點過於複雜,我必須承認。這並不意味着它自己的意思,只是說。 – hakre
是的,我知道特質是如何工作的。但是在我的項目中,劍的可能性太大,每一個可能性都需要它自己的方法。所以創建一個課堂上的課,對我來說似乎是對的 – Valour
也許你可以通過你的設計來改進它,但是沒有太多的東西與你的問題分享(這可能不是你想要的)。對於技術方面,我添加了一個答案。 – hakre