9use InvalidArgumentException;
42 private $verified =
false;
47 private function __construct( ?
User $user,
bool $verified ) {
49 if ( $user && $user->
isAnon() && !$userNameUtils->isUsable( $user->
getName() ) ) {
66 return new self(
null, true );
75 public static function newFromId( $id, $verified =
false ) {
81 throw new InvalidArgumentException(
'Invalid ID' );
84 return new self( $user, $verified );
93 public static function newFromName( $name, $verified =
false ) {
96 UserRigorOptions::RIGOR_USABLE
99 throw new InvalidArgumentException(
'Invalid user name' );
101 return new self( $user, $verified );
111 return new self( $user, $verified );
119 return $this->user ===
null;
129 return $this->verified;
140 return $this->user ===
null ? 0 : $this->user->getId();
148 return $this->user ===
null ? null : $this->user->getName();
157 return $this->user ===
null || $this->user->getId() === 0 ?
'' : $this->user->getToken(
false );
173 return $this->
verified ? $this :
new self( $this->user, true );
177 if ( $this->user ===
null ) {
181 ( $this->
verified ?
'+' :
'-' ) .
':' .