我正在浏览一个对象列表,它们都具有相同的父类,但它们可能是许多子类之一的实例。根据对象的真实类型,我想执行略有不同的操作。
如何根据对象类型运行不同的代码块?
在 Java 中,我会用我想使用的每种类型重载一个处理函数,但 PHP 不允许这样做。
背景: 戈登的评论。
我们正在从一组对象构建表单。一个超类 Component,它被扩展以表示特定类型的表单元素。TextInput extends Component
并且该组件具有容纳其他组件的能力。我们不希望他们对自己的实际代表负责。
我们现在正在努力构建 HTML,但我们可能希望使用它们来构建 .PDF 或其他格式。
所以我们有代码通过组件,并递归地通过它包含的组件。根据组件的类型,我们需要创建不同的输出。