Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Definição dos atributos na classe

Realizando alguns testes para ver o retorno, percebi que mesmo o atributo sendo definido como string, eu consegui colocar um int, que ao ver o resultado pelo var_dump, a informação foi armazenada como string. Ele transforma sozinho ? Não deveria retornar uma mensagem de erro ?

Arquivo Conta.php

<?php

class Conta
{
    public string $cpfTitular;
    public string $nomeTitular;
    public float $saldo;
}

Atribuições:

$segundaConta -> cpfTitular = '12345678910';
$segundaConta -> nomeTitular = 5;
$segundaConta -> saldo = 600;

var_dump:

object(Conta)#2 (3) {
  ["cpfTitular"]=>
  string(11) "12345678910"
  ["nomeTitular"]=>
  string(1) "5"
  ["saldo"]=>
  float(600)
}

Fiz algo de errado ? Era pra acontecer isso mesmo ?

2 respostas
solução

Olá, Igor. Sim, o valor foi convertido para string automaticamente. O PHP faz isso. Era para acontecer isso mesmo.

Uma feature legal que não é citada no curso é a strict_types.

Se no arquivo que você for executar, você colocar essa linha, logo depois da tag de abertura do PHP, o PHP não vai mais tentar converter tipos para você, aí isso geraria um erro:

declare(strict_types=1);

Show ! Vlw professor.