4
respostas

Operadores

Bom dia, Gostaria de tirar dúvidas referentes ao uso do operador " .= " que aparecem no código abaixo, por que ele é usado e em quais situações deve ser usado.

Segue o código, Obrigado!

public function outputConstraints() {
        $attributes = '';
        if ($maxLength = $this->constraints['maxLength']) {
            $attributes .= "maxlength='{$maxLength}' ";
        }
        if (array_key_exists('maxValue', $this->constraints)) {
            $attributes .= "max='{$this->constraints['maxValue']}' ";
        }
        if (array_key_exists('minValue', $this->constraints)) {
            $attributes .= "min='{$this->constraints['minValue']}' ";
        }
        if ($this->data['attrs']['required']) {
            $attributes .= "required ";
        }
        if ($this->data['inputName'] === 'Contact.Login') {
            $attributes .= "autocorrect='off' autocapitalize='off' ";
        }
        return trim($attributes);
    }
4 respostas

Oi Boris, tudo bem ?

O operador . * é referente ao uso com Strings, falando que a esquerda do ponto há uma String.

Espero ter ajudado.

Oi Matheus, tudo sim e você?

Então nesse caso é uma atribuição de valor comum porém especificando que é string?

Então Boris,

Estamos falando que a esquerda temos uma string, ou seja no final ele terá que fazer uma concatenação

Boris,

$variavel .= 'valor';

é um "atalho" para

$variavel = $variavel . 'valor';

Ou seja, com ele você está adicionando ao fim da variável, o valor atribuído. Ex.:


$var  = 'teste'; // teste
$var .= ' com strings'; // teste com strings

Espero ter esclarecido.