Weakref::acquire
(PECL weakref >= 0.1.0)
Weakref::acquire — Acquires a strong reference on that object
Description
public bool Weakref::acquire
( void
)
Acquires a strong reference on that object, virtually turning the weak reference into a strong one.
Parameters
This function has no parameters.
Return Values
Returns TRUE
if the reference was valid and could be turned into a strong
reference, FALSE
otherwise.
Examples
Example #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);
?>
The above example will output:
Unsetting o1... Unsetting o2... Destroying object!
Example #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();
?>
The above example will output:
Acquiring... Unsetting... Acquiring... Acquiring... Releasing... Releasing... Releasing... Destroying object!
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Изменение поведения PHP
- Weak References
- Функция Weakref::acquire() - Acquires a strong reference on that object
- Функция Weakref::__construct() - Constructs a new weak reference
- Функция Weakref::get() - Returns the object pointed to by the weak reference
- Функция Weakref::release() - Releases a previously acquired reference
- Функция Weakref::valid() - Checks whether the object referenced still exists
Коментарии
404 Not Found