for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace PSB\Core\Pipeline\Incoming;
use PSB\Core\Exception\InvalidArgumentException;
class IncomingLogicalMessageFactory
{
/**
* @param string $messageClass
* @param object $message
*
* @return IncomingLogicalMessage
*/
private function create($messageClass, $message)
$interfaces = array_values(class_implements($messageClass, true));
return new IncomingLogicalMessage($message, $messageClass, $interfaces);
}
* @throws InvalidArgumentException
public function createFromObject($message)
if (!is_object($message)) {
throw new InvalidArgumentException('Message must be an object.');
return $this->create(get_class($message), $message);