3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Conta{// criando uma classe eu crio um TIPO de dados podendo criar um variavel desse tipo //definindo os dados da conta private string $cpfTitular; private string $nomeTitular; private float $saldo ;//saldo inicia se com zero e é privado, so a conta pode acessar //qdo criar uma conta, obriga o usuario a digitar um nome e um cpf public function __construct(string $cpfTitular, string $nomeTitular) { $this->cpfTitular=$cpfTitular; $this->validaNomeTitular($nomeTitular); $this->nomeTitular = $nomeTitular; $this->saldo = 0; } //metodos public function sacar(float $valorSacar) { if($valorSacar > $this-> saldo){ echo "saldo indisponivel"; return;// seo o saldo for indisponivel, para o metodo. } $this-> saldo -=$valorSacar; } public function depositar(float $valorADepositar): void { if ($valorADepositar < 0) { echo "Valor precisa ser positivo"; return; } $this->saldo += $valorADepositar; } public function transferir(float $valorATransferir, Conta $contaDestino) : void { if($valorATransferir > $this->saldo){ echo "Saldo indisponivel"; return; } $this->sacar($valorATransferir);//sacando da conta atual $contaDestino->depositar($valorATransferir );//conta destino } public function recuperarSaldo() : float { return $this->saldo; } public function recuperarCpfTitular() : string { return $this->cpfTitular; } public function recuperarNomeTitular() : string { return $this->nomeTitular; } private function validaNomeTitular(string $nomeTitular) { if (strlen($nomeTitular) < 5) { echo "Nome precisa ter pelo menos 5 caracteres"; exit();//para execucao do programa } } } $segundaConta = new Conta('687.549.548-10', 'Ana'); var_dump($segundaConta);
Output for git.master, git.master_jit, rfc.property-hooks
Nome precisa ter pelo menos 5 caracteres

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
30.68 ms | 405 KiB | 5 Q