Variable variable class extensions in PHP--is it possible?

前端 未结 8 1911
囚心锁ツ
囚心锁ツ 2020-12-06 14:22

Is something like the following possible in PHP?

$blah = \'foo1\';

class foo2 extends $blah {
    //...
}

class foo1 {
    //...
}

This g

8条回答
  •  温柔的废话
    2020-12-06 15:05

    I assume that this is for ease-of-maintenance, right? Extending a class at run time really is pretty crazy.

    class SuperClassOne { /* code */ }
    class SuperClassTwo { /* code */ }
    
    class IntermediateClass extends SuperClassOne { /* empty! */ }
    
    class DescendantClassFoo extends IntermediateClass{ }
    class DescendantClassBar extends IntermediateClass{ }
    class DescendantClassBaz extends IntermediateClass{ }
    

    Then, when you want to change all your DescendantClass* classes, you just have to change what the IntermediateClass extends:

    class IntermediateClass extends SuperClassTwo { }
    

提交回复
热议问题