0

PHPがParentクラスを再利用するかどうか疑問に思っています。次のコードで:

// File parent.php
class Parent {
  $public foo = '';

  public function __construct($args) {
    // ..
  }

  // .. some functions
}

// File child1.php
class Child1 extends Parent {
  public function __construct() {

  }

  // .. Some overridden function
  // .. some extra functions
}

// File child2.php
class Child2 extends Parent {
  public function __construct() {

  }

  // .. some extra functions
}

ここで、Child1またはChild2のいずれかを使用するには、parent.phpとchildN.phpを含める必要があります。Child1のみを使用すると、それらが何らかの形で単一の存在に連結されていることが想像できます。ただし、同じページでChild2を使用すると、2つの「連結された」存在が取得されます。これは、メモリをむさぼり食うか、PHPが非常にスマートで、これを確認でき、親を1回だけ使用/ロード/実行できます。

この例はかなり単純化されていますが、親はかなり大きく、たくさんの子供がいます!

4

2 に答える 2

2

簡単な答えは「PHPスーパースマート」です。メモリはクラスインスタンスを格納するためにのみ使用され、クラス定義を格納するためのメモリの部分はごくわずかです。インクルージョンの数についても心配することができますが、この特定のケースでは、すべてが遅くなることはありません。

于 2012-07-08T21:27:19.803 に答える
0

Parent一度だけロードされます。実際、PHPを2回ロードしようとすると、エラーがスローされます。

于 2012-07-08T21:35:52.297 に答える