0

トリッキーやクールなPHP機能で、子クラスが親から継承され、親と同じ名前を持つことが可能かどうかに興味があります。これは、必要に応じて何度でも繰り返すことができます。

これはさまざまな方法で実行できると思いますが、コミュニティがどうなるかを知りたいと思っています。

また、人々がこれを有用だと考えるかどうか、または標準の継承が同じように受け入れられるかどうかも知りたいです。

実際に私が見るパワーです (基本オブジェクトが正しく構築されていると仮定して)。スーパープロでありながら、平均的なクマがすべての生きている一体に混乱することはありません。

いくつかのアクティブなレコード ベース タイプがあるとしましょう。

クラス アクティブ レコード => 連絡先

連絡先を MyContacts でオーバーライドしたいのですが、現在連絡先を使用しているシステム内のすべての場所を表示して、とにかく変更する必要がないようにします...代わりに、連絡先としてブランド化します。

アクティブ レコード -> 連絡先 -> MyContacts (連絡先)。

上記のように、理論的にはそれが可能であるはずです。

アクティブ レコード -> 連絡先 -> MyContacts (連絡先) -> YourContacts (連絡先)。

Anywhere Contacts が参照される場合でも、未定義のクラスを提供したり、存在する場合でも子のほとんどの機能を提供したりしてはなりません。

次のようなことをせずにこれをどのように達成できますか...

$class_name = ClassFactory::instance("Contact");
$class = new $class_name($args);

探しているもの: $class = new Contacts();

Where $class could be the newest version of Contacts


Active Record => Contacts
Active Record => Contacts -> MyContacts (Contact)
Active Record => Contacts -> MyContacts (Contact) -> YourContacts (Contact).

の場合

$class->undefinedFun();

それを受け入れました->絶対基本クラス、またはクラスの任意のティアの__call関数は、それがエラーであるかどうかを定義します。

4

1 に答える 1