References Getting Started Getting Started Architecture Architecture Application Application Window Window WebView WebView Deployment Deployment Components Components Framework Integrations Framework Integrations Examples Examples Community Community github GitHub github Get Started arrow_up_right
Getting Started Getting Started Architecture Architecture Application Application Window Window WebView WebView Deployment Deployment Components Components Framework Integrations Framework Integrations Examples Examples Community Community

Components

HTTP URI HTTP Body Decoder HTTP Static Provider PHP Globals Provider OS Info CPU Info Assembly Weak Types Getting Started Architecture Application Window WebView Deployment Components Framework Integrations Examples Community

Weak Types

The Weak Types component provides a set of classes for working with weak references in PHP. It allows you to store objects without preventing them from being garbage collected, and react to their destruction.

This component already included in the boson-php/runtime, so no separate installation is required when using the runtime.

Installation

Via Composer:

composer require boson-php/weak-types

Requirements:

  • PHP ^8.4

ObservableWeakSet

ObservableWeakSet allows you to store a set of objects and track their destruction. It's useful when you need to maintain a collection of objects and react when they are garbage collected.

use Boson\Component\WeakType\ObservableWeakSet;

// Create a new observable weak set
$set = new ObservableWeakSet();

// Watch an object
$set->watch($object, function (object $ref): void {
    echo "Object has been destroyed, cleaning up resources...\n";
});

// Iterate over all entries
foreach ($set as $object) {
    // Process each object
}

// Get the number of entries
$count = count($set);

ObservableWeakMap

ObservableWeakMap allows you to store a set of objects with referenced values and track their destruction. It's useful when you need to maintain a mapping between objects and react when they are garbage collected.

use Boson\Component\WeakType\ObservableWeakMap;

// Create a new observable weak map
$map = new ObservableWeakMap();

// Watch an object and its associated value
$map->watch($keyObject, $refObject, function (object $ref): void {
    echo "Object has been destroyed, cleaning up resources...\n";
});

// Find a value by key
$value = $map->find($keyObject);

// Iterate over all entries
foreach ($map as $keyObject => $refObject) {
    // Process each entry
}

// Get the number of entries
$count = count($map);
github discord telegram Get started Documentation Contribution Guide License Release Notes BOSON PHP © 2025. All Rights Reversed.