PHP 5.3: збирання сміття для циклічних посилань

1 хв читання

Реліз PHP 5.3, що відбувся 30 червня 2009 року, став важливою віхою для розробників серверних додатків, оскільки він вирішив одну з давніх проблем керування пам'яттю — витоки при роботі з циклічними посиланнями. До появи цього механізму розробники були змушені вручну очищати об'єкти, що часто призводило до помилок та нестабільності довготривалих процесів.

Технічно, PHP 5.3 представив опціональний механізм збирання сміття (Garbage Collection), який автоматично виявляє та видаляє об'єкти, що посилаються один на одного, але більше не доступні з коду програми. Це дозволило значно зменшити споживання оперативної пам'яті в складних додатках, де раніше накопичувалися «мертві» об'єкти.

Розробникам рекомендується переглянути архітектуру своїх додатків, що використовують складні структури даних. У тестовому середовищі варто відтворити сценарій з циклічними посиланнями та за допомогою інструментів моніторингу пам'яті переконатися, що після завершення роботи з об'єктами виділена пам'ять коректно звільняється.

Використані джерела

  1. php.net (php.net)
  2. php.net (php.net)