Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre como imprimimos um Endereco sem um get e sobre require_once

Boa tarde

1) Na classe Titular escrevemos:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeComo na hora de dar var_dump() na conta ele entendeu que tem que imprimir o endereço todo (com cidade, bairro e etc) sem eu definir um get que pega todos os atributos de Endereço e imprimi?

2) Sobre o require_once, meus arquivos estão na ordem errada e mesmo assim deu certo na hora de dar o var_dump():

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3) Se o php funciona com propriedades sem tipo, para que colocar tipos nos atributos? Tem um exemplo onde não colocar daria problema?

2 respostas
solução!

Olká, Karolina. Vamos por partes.

  1. A função var_dump é uma função de debug. Ela tem acesso a tudo do objeto, mesmo que seja privado. Ela serve somente para depurar, por isso ela mostra tudo mesmo. Ela não chama nenhum getter. PS.: Em PHP é comum usarmos camelCase, e não PascalCase. ;-)
  2. Eu precisaria ver todos os arquivos para saber o motivo, mas não precisa se preocupar com isso porque em breve vamos aprender sobre autoload e todos esses requires vão virar 1 só. :-D
  3. O PHP desde a versão 7.4 permite também a tipagem nas propriedades com a sintaxe private Endereco $endereco;, por exemplo. Então você pode tipá-las. :-D. Sobre o motivo para adicionar tipos, é para tornar nosso código mais previsível e menos propenso a erros, onde nós passamos uma string por parâmetro onde esperamos um objeto do tipo endereço, por exemplo. Sem a tipagem esse código geraria um erro menos descritivo e mais difícil de achar, já com a tipagem esse erro aparece pra gente sem nem precisar rodar o código. :-D

Obrigada!