0

コードの敏捷性と読み込み時間を改善しようとして、クラスがインスタンス化された場合にのみ関数が必要になるように、これを行うことを考えました。

class User
{
    public function __construct()
    {
       require('all_user_fns.php');
    }
}

内部all_user_fns.phpには、すべての User クラスの関数が存在します。

それは実現可能ですか(おそらく別の方法で)?速度に関しては何か利点がありますか?

4

4 に答える 4

3

正直なところ、これは遅くなります (結局のところ、追加のインクルードを行う必要があります)。そのため、速度が本当に問題である場合は、 Alternative PHP Cache (APC)などのオペコード キャッシュの 1 つを見てください。

さらに懸念されるのは、コードの保守が面倒になり、使用している IDE に応じて private/protected/public などの可視性キーワードを使用しようとすると問題が発生する可能性が非常に高いことです。

于 2010-01-25T21:36:19.803 に答える
1

これらの関数がユーザー オブジェクトを変更して操作するためだけに存在する場合、それらはそのクラスのメンバー関数である必要があります。関連する機能をカプセル化して整理することが、オブジェクトのポイントです。

于 2010-01-25T21:35:49.627 に答える
0

私の推測: 速度に目立った影響はありません。さらに、コードの理解と保守が難しくなります。私は明確に操縦し、物事をスピードアップする他の方法を探します.

于 2010-01-25T21:37:37.140 に答える
0

ユーザー関数をメソッドとして User クラス自体に移動することをお勧めします。これはより理にかなっていて、より簡単に維持できます。メンテナンスが問題ではないと思われる場合は、6 か月以内にお知らせください。どのように機能したかを教えてください :)

于 2010-01-25T21:49:45.777 に答える