Weakref::release

(PECL weakref >= 0.1.0)

Weakref::releaseОсвобождает предыдущую сильную ссылку

Описание

public Weakref::release ( ) : bool

Освобождает предыдущую сильную ссылку, превращая ее обратно в слабую (при условии, что внутренний счетчик равен нулю).

Объект Weakref содержит внутренний счетчик ссылок. Если вызов Weakref::release() прошел успешно, то этот счетчик уменьшится на единицу. Когда этот счетчик уменьшится до нуля, сильная ссылка становится слабой.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает true, если ссылка была помечена как сильная и счетчик успешно уменьшился на единицу, false в противном случае.

Примеры

Пример #1 Пример использования Weakref::release()

<?php
class MyClass {
    public function 
__destruct() {
        echo 
"Уничтожение объекта!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

$r1->acquire();

echo 
"Удаление o1...\n";
unset(
$o1);

$o2 $r1->get();

$r1->release();

echo 
"Удаление o2...\n";
unset(
$o2);
?>

Результат выполнения данного примера:

Удаление o1...
Удаление o2...
Уничтожение объекта!

Смотрите также

  • Weakref::acquire() - Создает сильную ссылку на текущий объект