這是我通過幾個php函數傳遞一個對象的情況。 我在尋找最好的性能,所以我想知道是序列化的一個好方法來做到這一點,或序列化沒有必要?將對象從函數傳遞到另一個函數
回答
如果您傳遞對象通過幾個「功能」,那麼你就不需要連載 - 這將是在內存中的PHP解析器和系列化只會是一種浪費。
如果您需要將值從一個腳本頁面傳遞到另一個腳本頁面,則序列化是一個選項,因爲第一個腳本中的變量將超出第二個腳本的範圍。
大多數時候你不需要這樣做 - 你到底想要做什麼?
好點多個頁面。 –
Tnx這個答案使我清楚一切。 – DownDown
序列化是你可以做的最糟糕的事情之一。 php 5中的對象通過引用傳遞,這樣函數之間傳遞的數據量是最小的(只有一個指針是一個整數)。
此外,如果您在被調用的函數中反序列化對象,它將不是原始對象,而是一個克隆,因此在該函數內對該對象所做的任何更改都將針對克隆而不是原始實例 –
只要通過對象。你不需要序列化。
function foo() {
return new Foo;
}
function bar($obj) {
return $obj;
}
function baz($obj) {
$obj->foo();
}
baz(bar(foo()));
我相信是沒有問題的身邊經過的物體是這樣的:
$obj=new myclass;
$result=mufunk($obj);
function myfunk($myfobj)
{
$myreturn=new anotherclass;
return $myreturn;
}
- 1. jQuery將對象從一個函數傳遞到另一個函數
- 2. 將變量從一個函數傳遞到另一個函數
- 3. 將值從一個函數傳遞到另一個函數
- 4. 將變量從一個函數傳遞到另一個函數
- 5. 將變量從一個函數傳遞到另一個函數
- 6. 從一個函數傳遞對象到另一個
- 7. 如何將json對象從一個函數傳遞給另一個函數?
- 8. 如何將$(this)對象從一個函數傳遞給另一個函數?
- 9. 傳遞函數到另一個函數
- 10. 將對象的函數傳遞給另一個類的另一個std ::函數
- 11. C++:將函數從一個函數傳遞到另一個函數
- 12. 從一個函數傳遞數組到另一個函數
- 13. 將變量從一個函數傳遞給另一個函數
- 14. 傳遞一個對象到函數
- 15. 傳遞對象到一個jquery函數
- 16. 將對象數組傳遞給GAS中的另一個函數
- 17. JS - 將連接(對象)從一個函數傳遞到另一個
- 18. 將一個局部變量從一個函數傳遞到另一個函數
- 19. 如何將參數從一個函數傳遞到另一個函數?
- 20. 如何將數組從一個函數傳遞到另一個函數
- 21. 在Python中將數據幀從一個函數傳遞到另一個函數
- 22. 在jQuery中將數組從一個函數傳遞到另一個函數
- 23. scrapy將參數從一個函數傳遞到另一個函數
- 24. 將對象從SQL查詢函數傳遞到一個單獨的函數
- 25. 傳遞數組到另一個函數
- 26. 從一個函數傳遞返回參數另一個函數
- 27. 將模板函數傳遞到另一個模板函數
- 28. 無法將值從一個函數傳遞到另一個函數 - WordPress ACF
- 29. 將變量從一個JS函數傳遞到另一個函數
- 30. 將上下文「this」從一個函數傳遞到另一個函數中?
首先,有幾乎沒有足夠的信息,這裏這個問題得到充分考慮有用的答案。其次,如果序列化在這裏是一個好主意,我會非常驚訝。你正在增加毫無意義的開銷。 – DaveRandom
爲什麼你需要序列化對象以將它從一個函數傳遞到另一個函數?你能舉一個你在做什麼的例子嗎? – David
請顯示你曾嘗試過? –