19

簡単な質問ですが、evalを使用せずに実行時にphpクラスに特性を動的に追加することは可能ですか?

4

2 に答える 2

15

Glavic が言ったように、eval() またはリフレクション ハックを使用しないとできません (それについてはよくわかりません)。

しかし、本当に必要になる可能性はほとんどありません。

動的なクラス構成 (必要な機能を備えたクラスを別のクラスに構成する) を使用すると、多くのことを達成できます。これは単に、目的の機能を持つクラスへの参照をホスティング クラスの変数に入れるだけの問題です。

class SomeClassWithNeededFunctionality {}

class SomeClassThatNeedsTheFunctionalityOfTheOtherClass {
    private $serviceClass = NULL;

    public function __construct (SomeClassWithNeededFunctionality $serviceClass) {
        $this -> serviceClass = $serviceClass;
    }
}
于 2013-01-16T09:36:45.153 に答える
0

いいえ。

psそれらをスタンドアロンファイルに入れ、 include() を使用できますか?

于 2013-01-16T09:34:50.533 に答える