0

这是我通过几个 php 函数传递对象的情况。我正在寻找最佳性能,所以我想知道序列化是一种好方法还是不需要序列化?

4

4 回答 4

1

只是传递对象。你不需要序列化。

function foo() {
    return new Foo;
}

function bar($obj) {
    return $obj;
}

function baz($obj) {
    $obj->foo();
}

baz(bar(foo()));
于 2012-05-21T12:49:09.553 回答
1

如果你通过几个“函数”传递一个对象,那么你不需要序列化——这将在 PHP 解析器的内存中,序列化只是一种浪费。

如果您需要将值从一个脚本页面传递到另一个脚本页面,则可以选择序列化,因为第一个脚本中的变量将超出第二个脚本的范围。

大多数时候你不需要这样做——你到底想做什么?

于 2012-05-21T12:49:21.523 回答
0

序列化是你能做的最糟糕的事情之一。php 5 中的对象是通过引用传递的,这样在函数之间传递的数据量是最小的(只有一个整数指针)。

于 2012-05-21T12:48:43.033 回答
0

我相信像这样传递对象没有问题:

$obj=new myclass;
$result=mufunk($obj);

function myfunk($myfobj)
  {
    $myreturn=new anotherclass;
    return $myreturn;
  }
于 2012-05-21T12:50:52.747 回答