Рекурсивный акроним словосочетания «PHP: Hypertext Preprocessor»
Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 17959 программистов и 1567 роботов. Сейчас ищут 980 программистов ...
Weakref::acquire - Acquires a strong reference on that object
Вернуться к: WeakRef
Weakref::acquire
(PECL weakref >= 0.1.0)
Weakref::acquire — Acquires 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.
The Weakref instance maintains an internal acquired counter to track outstanding strong references. If the call to Weakref::acquire() is successful, this counter will be incremented by 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!
Вернуться к: WeakRef