Вопросы по работе SimpleMVC

Выполняю задание http://fkn.ktu10.com/?q=node/10396
Хотел бы лучше для себя понять как работает хэширование пароля на примере функции insert(). Файл Adminusers.php:

    public function insert()
    {
        $sql = "INSERT INTO $this->tableName (timestamp, login, salt, pass, role, email)"
                . " VALUES (:timestamp, :login, :salt, :pass, :role, :email)"; 
        $st = $this->pdo->prepare ( $sql );
        $st->bindValue( ":timestamp", (new \DateTime('NOW'))->format('Y-m-d H:i:s'),
                \PDO::PARAM_STMT);
        $st->bindValue( ":login", $this->login, \PDO::PARAM_STR );
        
        //Хеширование пароля
        $this->salt = rand(0,1000000);
        $st->bindValue( ":salt", $this->salt, \PDO::PARAM_STR );
 //       \DebugPrinter::debug($this->salt);
        
        $this->pass .= $this->salt;
        $hashPass = password_hash($this->pass, PASSWORD_BCRYPT);
//        \DebugPrinter::debug($hashPass);
        $st->bindValue( ":pass", $hashPass, \PDO::PARAM_STR ); 
        $st->bindValue( ":role", $this->role, \PDO::PARAM_STR );
        $st->bindValue( ":email", $this->email, \PDO::PARAM_STR );
        $st->execute();
        $this->id = $this->pdo->lastInsertId();
    }

Интересует данный участок кода:

 //Хеширование пароля
        $this->salt = rand(0,1000000);
        $st->bindValue( ":salt", $this->salt, \PDO::PARAM_STR );
 //       \DebugPrinter::debug($this->salt);
        
        $this->pass .= $this->salt;
        $hashPass = password_hash($this->pass, PASSWORD_BCRYPT);
//        \DebugPrinter::debug($hashPass);
        $st->bindValue( ":pass", $hashPass, \PDO::PARAM_STR );

Как я это понимаю:
1) Свойству salt присвается рандомное число от 0 до 1 000 000
2) Связывает параметр PDO :salt со значением $this->salt
3)

 $this->pass .= $this->salt;   
 $hashPass = password_hash($this->pass, PASSWORD_BCRYPT);

На этом этапе вопросы:
1) Зачем оператор ".=" ?
2) Каким образом связаны $this->pass и $this->salt?

Key Words for FKN + antitotal forum (CS VSU):