Skip to content
Snippets Groups Projects

1.x

Merged 1.x
11 unresolved threads
Merged Bartek Jaskulski requested to merge 1.x into review
11 unresolved threads
3 files
+ 16
10
Compare changes
  • Side-by-side
  • Inline

Files

+ 29
0
<?php
declare( strict_types=1 );
namespace WPDesk\Init\Extension;
/**
* @implements \IteratorAggregate<class-string, Extension>
*/
class ExtensionsSet implements \IteratorAggregate {
/** @var array<class-string<Extension>, Extension> */
private $extensions = [];
public function __construct( Extension ...$extensions ) {
foreach ( $extensions as $extension ) {
$this->add( $extension );
}
}
public function add( Extension $extension ): void {
$class = \get_class( $extension );
$this->extensions[ $class ] = $extension;
}
public function getIterator(): \Traversable {
return new \ArrayIterator( $this->extensions );
}
}
Loading