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)

Como escrever o atributo estatico

Olá,

echo "Numero de contas criadas: {Conta::getNumeroDeContas()}" . PHP_EOL;

Como se faz para conseguir escrever no ecra com a sintaxe complexa do php o atributo estático da classe? O código acima não funciona.

Obrigado

3 respostas

Olá Andre,

Qual o erro que acontece? Compartilha aqui por favor a mensagem de erro e o seu código completo.

Olá, Não dá erro, mas o output é o seguinte: Numero de contas criadas: {Conta::getNumeroDeContas()} Obrigado.

solução

Ah, entendi.

Isso acontece porque essa maneira de utilizar chaves {} dentro de um texto para mostrar um valor é limitado a uma variável, um elemento de um array ou uma propriedade de um objeto.

Assim não é possível passar valores retornados por uma função como acontece em Conta::getNumeroDeContas(), o que você pode fazer salvar o valor em uma variável ou utilizar concatenação de strings:

// Opção 1
echo "Numero de contas criadas: " . Conta::getNumeroDeContas() . PHP_EOL;

// Opção 2
$num_contas = Conta::getNumeroDeContas();
echo "Numero de contas criadas: {$num_contas}" . PHP_EOL;

Espero ter ajudado, qualquer dúvida é só falar!