for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace EventIO\InterOp;
/**
* Trait EmitterTrait
* @package EventIO\InterOp
*/
trait EmitterTrait
{
* @param array ...$events The event triggered
* @return mixed
public function emit(...$events)
foreach ($events as $event) {
$this->parseEvent($event);
$event
array
string|object<EventIO\InterOp\EventInterface>
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
}
* @param EventInterface $event An event to emit
abstract public function emitEvent(EventInterface $event);
* @param string $event An event name
abstract public function emitName($event);
* @param string|EventInterface $event An event received
private function parseEvent($event)
if ($event instanceof EventInterface) {
return $this->emitEvent($event);
return $this->emitName($event);
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: