Sobes.tech
Middle

Czym jest zachowanie 'copy on write'?

sobes.tech AI

Odpowiedź od AI

To jest optymalizacja zarządzania pamięcią w PHP (i innych językach/systemach), w której kopiowanie wartości zmiennej nie odbywa się od razu, lecz tylko wtedy, gdy próbujemy zmienić kopię lub oryginał, jeśli oba odwołują się do tego samego miejsca w pamięci. Przed zmianą obie zmienne po prostu odwołują się do tych samych danych.

<?php
$a = 'łańcuch'; // $a wskazuje na blok pamięci z łańcuchem "łańcuch"
$b = $a; // $b teraz również wskazuje na ten sam blok pamięci, kopia nie jest tworzona

// Dopiero teraz, przy zmianie $b, PHP tworzy nową kopię danych dla $b
$b .= ' zmieniony';

echo $a; // Wyświetli: łańcuch

echo $b; // Wyświetli: łańcuch zmieniony
?>