这是我通过几个php函数传递一个对象的情况。 我正在寻找最好的性能,所以我想知道序列化是一个很好的方法,还是序列化没有必要?
答案 0 :(得分:1)
只需传递对象即可。您不需要序列化。
function foo() {
return new Foo;
}
function bar($obj) {
return $obj;
}
function baz($obj) {
$obj->foo();
}
baz(bar(foo()));
答案 1 :(得分:1)
如果你通过几个'函数'传递一个对象,那么你不需要序列化 - 这将在PHP解析器的内存中,序列化将是一种浪费。
如果您需要将值从一个脚本页传递到另一个脚本页,则序列化是一个选项,因为第一个脚本中的变量将超出第二个脚本中的范围。
大多数时候你不需要这样做 - 你到底想要做什么?
答案 2 :(得分:0)
序列化是您可以做的最糟糕的事情之一。 php 5中的对象通过引用传递,这样在函数之间传递的数据量最小(只有一个整数的指针)。
答案 3 :(得分:0)
我相信像这样传递物体没有问题:
$obj=new myclass;
$result=mufunk($obj);
function myfunk($myfobj)
{
$myreturn=new anotherclass;
return $myreturn;
}