这是我通过几个 php 函数传递对象的情况。我正在寻找最佳性能,所以我想知道序列化是一种好方法还是不需要序列化?
问问题
1051 次
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 回答