有没有一种简单的方法可以将父对象重铸为子类,最好是通过父类的方法。
例如,我可能有一个“访问者”类和扩展“访问者”的“成员”类。身份验证方法成功后是否可以重铸对象?
谢谢
您可以在类中定义一个构造函数,该构造函数Visitor
将采用另一个Visitor
对象并将所有属性复制到新对象中。然后这个构造函数将被继承到Member
类,您将能够Member
通过复制现有对象来创建Visitor
对象。
我能想到的最接近的解决方案是启动一个新的“成员”对象,将旧的访问者对象传递给构造函数。在构造函数中,您可以提取相关属性并将它们分配给新对象。
类似的模式也可以工作,但你不能直接在 php 中将某些东西转换为类:[
绝对不!用户通过身份验证后,请求结束,因此 Visitor 对象不再存在。在下一个请求中,您将直接加载 Member 对象(我假设您有某种工厂知道为每种用户类型实例化相关对象)