Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Criei um novo atributo após criar o objeto

Professor, não entendi o que aconteceu.<br> Minha classe

<?php

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

Logo depois abri o terminal e comecei a seguir os passos da aula. Só que quando fui atribuir o valor ao atributo cpfTitular eu errei e digitei cpfTitluar. Dei o enter e quando executei o var_dump($primeiraConta); um novo atributo apareceu. Terminal

elias@elias-VirtualBox:~/Documentos/Alura/php/php-orientacao-objetos$ php -a
Interactive mode enabled

php > require_once 'src/Conta.php';
php > $primeiraConta = new Conta();
php > var_dump($primeiraConta);
object(Conta)#1 (3) {
  ["cpfTitular"]=>
  NULL
  ["nomeTitular"]=>
  NULL
  ["saldo"]=>
  NULL
}
php > $primeiraConta->cpfTitluar = '123.456.789-10';
php > var_dump($primeiraConta);
object(Conta)#1 (4) {
  ["cpfTitular"]=>
  NULL
  ["nomeTitular"]=>
  NULL
  ["saldo"]=>
  NULL
  ["cpfTitluar"]=>
  string(14) "123.456.789-10"
}
php > 

O que aconteceu? Eu pensei que isso não poderia acontecer. Estou utilizando: Sistema operacional: Linux - Ubuntu 20.04 PHP: PHP 7.4.3 (cli) (built: May 26 2020 12:24:22) ( NTS ) Observação. Como eu faço para quebrar linhas aqui no forum?

1 resposta
solução!

Fala, Elias.

O PHP tem esse comportamento. É normal.

Se você tenta atribuir um valor a uma propriedade não existente, ele cria ela de forma pública.

Quando estamos utilizando IDEs, esses erros ficam claros pra gente e são mais difíceis de acontecer.

:-D

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software