灵活地将数据从一个对象传递到另一个对象,这是真的吗?

时间:2012-12-22 18:14:41

标签: php oop

我有两个对象,我需要将一些数据从一个对象传递到另一个对象。我用于那个吸气剂和二传手。将来我会有很多这样的对象,我不喜欢getter和setter的解决方案,因为我必须编写太多的代码。

有没有办法灵活地做到这一点?例如,使用一些映射以了解需要使用哪些方法将数据设置为另一个对象或类似的东西?是的,我写的是PHP。

2 个答案:

答案 0 :(得分:0)

您可以将对象分配给PHP变量,并传递此单个变量。变量中公开显示的属性在传递后将可见 - 简单!

答案 1 :(得分:0)

您可以打包复制功能,以便代码保持可读性。

这样的事情:

class DataHelper {

    public static function copyData($objA, $objB) {
        $objB->setAnything( $objA->getAnything() );
    }

}

$foo = new yourClass();
$bar = new yourClass();

DataHelper::copyData($foo, $bar);

根据复制行动

,这更像是“D.R.Y”

我知道我们在这里使用了你想要防止的getter和setter,但在定义数据时你不会一遍又一遍地重复getter和setter来产生你的数据。这只能通过辅助方法完成一次(当然也可以是一个类没有包含的单个函数)