for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace PSB\Core\Pipeline\Outgoing;
use PSB\Core\Exception\InvalidArgumentException;
class OutgoingLogicalMessage
{
/**
* @var object
*/
private $messageInstance;
* @var string
private $messageClass;
* @param object $messageInstance
* @param string $messageClass
public function __construct($messageInstance, $messageClass = null)
$this->assertObject($messageInstance);
$this->messageInstance = $messageInstance;
$this->messageClass = $messageClass;
if ($messageClass === null || $messageClass === '') {
$this->messageClass = get_class($messageInstance);
}
* @return object
public function getMessageInstance()
return $this->messageInstance;
* @return string
public function getMessageClass()
return $this->messageClass;
public function updateInstance($messageInstance)
* @param mixed $messageInstance
private function assertObject($messageInstance)
if (!is_object($messageInstance)) {
throw new InvalidArgumentException('Message instance must be an object.');