9use InvalidArgumentException;
40 private $verified =
false;
45 private function __construct( ?
User $user,
bool $verified ) {
47 if ( $user && $user->
isAnon() && !$userNameUtils->isUsable( $user->
getName() ) ) {
64 return new self(
null, true );
73 public static function newFromId( $id, $verified =
false ) {
79 throw new InvalidArgumentException(
'Invalid ID' );
82 return new self( $user, $verified );
91 public static function newFromName( $name, $verified =
false ) {
94 UserRigorOptions::RIGOR_USABLE
97 throw new InvalidArgumentException(
'Invalid user name' );
99 return new self( $user, $verified );
109 return new self( $user, $verified );
117 return $this->user ===
null;
125 return $this->verified;
134 return $this->user ===
null ? 0 : $this->user->getId();
142 return $this->user ===
null ? null : $this->user->getName();
150 return $this->user ===
null || $this->user->getId() === 0 ?
'' : $this->user->getToken(
false );
166 return $this->
verified ? $this :
new self( $this->user, true );
170 if ( $this->user ===
null ) {
174 ( $this->
verified ?
'+' :
'-' ) .
':' .