Nếu tôi chuyển một biến hoặc đối tượng cho một cuộc gọi hàm bằng tham chiếu, tôi sẽ tưởng tượng nó tránh tạo một đối tượng thứ hai trong bộ nhớ, do đó bảo tồn tài nguyên? Ví dụ:Có đi qua tham chiếu Tránh tạo biến mới không?
<?php
class CoolObject
{
// Have some properties here
public function __construct()
{
// Do some stuff
}
public function test()
{
echo("Test");
}
}
function doSomething(&$param)
{
// Calls original instance, still only one object in memory
$param->test();
// Does this create a second instance in memory, or just assign
// the reference?
$newObj = $param;
}
// Create 1st instance of object in memory
$myObj = new CoolObject;
// Do a test to determine number of instances created
doSomething($myObj);
?>
Khi tôi giao "bằng cách tham khảo" biến đến $ newObj, sao nó tạo một hình mới trong bộ nhớ đưa đếm đến hai, hoặc sao nó chỉ vượt qua các tài liệu tham khảo vẫn chỉ để lại một đối tượng ?
Ok, tôi hiểu điều đó. Điều gì về phần thứ hai ... là $ newObj một trường hợp mới hoặc một "con trỏ" để $ myObj? –