for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Germania\Salesmen;
use Germania\Retailers\RetailerNumberInterceptorsTrait;
class SalesmanAbstract implements SalesmanInterface
{
use RetailerNumberInterceptorsTrait,
SalesmanIdAwareTrait;
/**
* @var string
*/
public $first_name;
public $last_name;
public $email;
* @var int
public $user_id;
public $is_active;
* @return string
public function getFirstName()
return $this->first_name;
}
public function getLastName()
return $this->last_name;
public function getEmail()
return $this->email;
public function getUserId() {
return $this->user_id;
* @return bool
public function isActive() {
return (bool) $this->is_active > 0;
public function getFullName()
return trim( join(" ", array_filter([
$this->getFirstName(),
$this->getLastName()
])));
public function getDisplayName()
return trim( join(" ∙ ", array_filter([
$this->getFullName(),
$this->getSalesmanId()