0

コードにゲッターとセッターを記述する必要がないというオプションを検討しています。

現在、__call を使用して getter と setter をプロパティに自動的にマップしていますが、これは非常に遅いとのことです。

プロパティを返すだけの getter と setter を書くことは、開発者の時間をあまり有効に活用できず、それらを維持することは頭痛の種になるため、どのようなオプションがありますか?

4

2 に答える 2

2

パフォーマンスは良くないかもしれませ__call()んが、唯一の選択肢は IDE からのコード生成です。これにより、最近のエディターの多くが備えているコード インサイト機能も改善され、コードを入力するときにエディターがメソッド名を提案できるようになります。とても便利なもの!

関連項目: Eclipse でゲッターとセッターを生成する方法 (php)

ところで -__get()__set()にはおそらく同じパフォーマンスの問題があり、それらを導入すると既存のコードが劇的に変化します (良い考えではありません)。

編集

ゲッターとセッターを動的に維持する方法について説明している良い記事を見つけることができなかったので、別の方法を考えました (これはうまくいくかもしれませんし、うまくいかないかもしれません)。

tokenizerどちらかReflection(または両方)を使用して、メンテナンスを処理するコード トランスフォーマーを作成できます。これは、保存時に IDE に統合するか、ファイルが変更されるたびに動的に実行する必要があります。

とにかく、ただのアイデア:)

于 2012-05-14T06:32:49.403 に答える
0

まあ、__set() と __get() を使用するか、パブリック属性を作成できます。これを行うための他の「魔法の」方法について聞いたことがありません。

于 2012-05-14T06:25:13.683 に答える