3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace Yiisoft\EventDispatcher\Provider; abstract class AbstractProviderConfigurator { protected function attach(callable $listener, string $eventClassName = ''): void { throw new \RuntimeException("Method 'attach' does not exist."); } } class Provider extends AbstractProviderConfigurator { private $providers = []; protected function attach(callable $listener, string $eventClassName = ''): void { $this->providers[$eventClassName] = $listener; } public function getProviders(): array { return $this->providers; } } class MyProvider extends Provider { public function attach(callable $listener, string $eventClassName = ''): void { parent::attach($listener, $eventClassName); } } $provider = new MyProvider(); $provider->attach(function () { return true; }, 'MyEvent'); var_dump($provider->getProviders());

preferences:
31.26 ms | 404 KiB | 5 Q