1

プロジェクトでトレイトを利用したいのですが、複数の継承にはトレイトを使用したいと思います。

そこで、使用するいくつかの特性を作成しました。例:tItem_Epic、tItem_Weapon、Item_Driver

Swordの新しいクラスを作成するとき、evalを使用してクラスを作成できると思いました。

<?php
function new_item_class($type)
{
    eval('class Item_'.ucfirst($type).' extends Item_Driver { use tItem_Epic, tItem_Weapon; }');
}
?>

これは一例です。評価の過程を変更するいくつかのパラメータがあります(アイテムの品質など)。

これは進行を遅くしますか?または、アイテムタイプごとにファイルを作成し、必要に応じて呼び出す必要がありますか?どちらが速くなりますか?

4

1 に答える 1

2

ディスク上にファイルを生成できます。これは、IDEでもファイルを解析でき、魔法が少ないため、IDEの利点になります。

evalPHPの場合、 (コードinclude例)と(ディスク上のファイルの例)の間に大きな違いはありません。だから私が言うだろうあなたを喜ばせることをしなさい。

私は個人的にファイルを好みます。なぜなら、それはそれらの魔法のクラスよりも直接的だからです。そして、私はそれを決定するための「パフォーマンス」の理由を探しません。あなたが話しているパフォーマンスの種類は、あなたが話しているパフォーマンスの種類について未定義のままであり、特にボトルネックにまだ遭遇していないため、近視眼的です。

于 2012-05-05T12:55:56.230 に答える