Middle
რა არის 'copy on write' ქცევა?
sobes.tech AI
პასუხი AI-სგან
ეს PHP-ს (და სხვა ენების/სისტემების) მეხსიერების მართვის ოპტიმიზაციაა, სადაც ცვლადის მნიშვნელობის კოპირება არ ხდება დაუყოვნებლივ, არამედ მხოლოდ მაშინ, როდესაც ვცდილობთ კოპიის ან ორიგინალის შეცვლას, თუ ორივე ერთსა და იმავე მეხსიერების ადგილს მიუთითებს. ცვლილებამდე ორივე ცვლადი უბრალოდ მიუთითებს ერთსა და იმავე მონაცემებზე.
<?php
$a = 'ზოლი'; // $a მიუთითებს მეხსიერების ბლოკზე, სადაც არის "ზოლი"
$b = $a; // ახლა $b ასევე მიუთითებს იმავე ბლოკზე, კოპირება არ ხდება
// მხოლოდ ახლა, როდესაც $b-ს ვცვლით, PHP ქმნის ახალი მონაცემების კოპიას $b-სთვის
$b .= ' შეცვლილი';
echo $a; // გამოიტანს: ზოლი
echo $b; // გამოიტანს: ზოლი შეცვლილი
?>