Acquires a strong reference on that object


(PECL weakref >= 0.1.0)

Weakref::acquireAcquires a strong reference on that object

Описание

public bool Weakref::acquire ( void )

Acquires a strong reference on that object, virtually turning the weak reference into a strong one.

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

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

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

Returns TRUE if the reference was valid and could be turned into a strong reference, FALSE otherwise.

Примеры

Пример #1 Weakref::acquire() example

<?php
class MyClass {
    public function 
__destruct() {
        echo 
"Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

$r1->acquire();

echo 
"Unsetting o1...\n";
unset(
$o1);

$o2 $r1->get();

$r1->release();

echo 
"Unsetting o2...\n";
unset(
$o2);
?>

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

 Unsetting o1... Unsetting o2... Destroying object! 

Пример #2 Nested acquire/release example

<?php
class MyClass {
    public function 
__destruct() {
        echo 
"Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

echo 
"Acquiring...\n";
$r1->acquire();

echo 
"  Unsetting...\n";
unset(
$o1);

echo 
"  Acquiring...\n";
$r1->acquire();

echo 
"    Acquiring...\n";
$r1->acquire();

echo 
"    Releasing...\n";
$r1->release();

echo 
"  Releasing...\n";
$r1->release();

echo 
"Releasing...\n";
$r1->release();

?>

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

 Acquiring...   Unsetting...   Acquiring...     Acquiring...     Releasing...   Releasing... Releasing... Destroying object! 

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