gpt4 book ai didi

php - 创建与在 php 中传递对象相同的类的对象

转载 作者:可可西里 更新时间:2023-11-01 01:00:31 24 4
gpt4 key购买 nike

我有休闲的情况

class A {
...
public static function Copy($obj) {
$newObj = new (class of $obj);
...
}
}

class B extends A {
...
}

class C extends A {
...
}
...
$newB = B::Copy($BObject);
$newC = C::Copy($CObject);

我可以创建参数类的新对象,还是必须为每个继承类重写方法?

最佳答案

也许可以简化它,但是get_class()是要走的路:

$class  = get_class($obj);
$newObj = new $class;

我找不到适用于 PHP 5.x 或 7.x 的单行代码,但这似乎适用于 PHP 8.0:

$newObj = new (get_class($obj));

关于php - 创建与在 php 中传递对象相同的类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28548833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com