Porém eu estou com dificuldades em entender nesta parte.
Peço ajuda.!
A mensagem diz:
Fatal error: Can't use method return value in write context in D:\xampp\htdocs\ProjetoBanco\ContaBanco.php on line 133
Erro fatal: não é possível usar o valor de retorno do método no contexto de gravação em D: \ xampp \ htdocs \ ProjetoBanco \ ContaBanco.php na linha 133
Arquivo inde.php
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<pre>
<?php
require_once "ContaBanco.php";
$ps1 = new ContaBanco(); // Juvileu.
$ps2 = new ContaBanco(); //Creuza.
$ps1->abrirConta("cc");
$ps1->setNumConta(111);
$ps1->setDono("Jubileu");
$ps2->abrirConta("cp");
$ps2->setDono("Creuza");
$ps2->setNumConta(222);
$ps1->depositar(300);
$ps2->depositar(500);
$ps2->sacar(100);
$ps1->pagarMensal();
$ps2->pagarMensa();
$ps1->fecharConta();
$ps2->fecharConta();
print_r($p1);
print_r($p2);
?>
</pre>
</body>
</html>
Arquivo ContaBanco.php
<?php
class ContaBanco {
//Atributos
public $numConta;
protected $tipo;
private $dono;
private $saldo;
private $status;
//Métodos
function __construct($saldo, $status) {
$this->setSaldo(0);
$this->setStatus(false);
echo "<p>Conta criada com sucesso!</P>";
}
function getNumConta() {
return $this->numConta;
}
function getTipo() {
return $this->tipo;
}
function getDono() {
return $this->dono;
}
function getSaldo() {
return $this->saldo;
}
function getStatus() {
return $this->status;
}
function setNumConta($numConta) {
$this->numConta = $numConta;
}
function setTipo($tipo) {
$this->tipo = $tipo;
}
function setDono($dono) {
$this->dono = $dono;
}
function setSaldo($saldo) {
$this->saldo = $saldo;
}
function setStatus($status) {
$this->status = $status;
}
public function abrirConta($t){
$this->setTipo($t);
$this->setStatus(true);
if($t == "cc"){
$this->setSaldo = 50;
}else if($t == "cp"){
$this->saldo = 150;
}
}
public function fecharConta(){
if($this->getSaldo() > 0){
echo "<p>Conta com dinheiro, não pode ser fechada!</p>";
}elseif($this->saldo < 0) {
echo "<p>Conta esta em debito, impossível encerrar!</p>";
}else{
$this->setStatus(false);
echo "<p>Conta de " . $this->getDono() . "fechada com sucesso!./p>";
}
}
function depositar($v){
if($this->getStatus()){
/*outras formas
if getStatus(true)
if getStatus
*/
$this->getSaldo($this->getSaldo() + $v);
/*poderia fazer de outra forma
* $this->saldo = $this->saldo + $v;
*/
echo "<p>Depósito de R$ $v na conta de " . $this->getDono() . "</p>";
}else{
echo "<p>Conta fechada não consigo depositar!</p>";
function sacar($v){
if ($this->getStatus == true){
if($this->getSaldo >= $v){
// $this->saldo = $this->saldo - $v;
$this->setSaldo($this->getSaldo()- $v);
echo "<p>Saque de R$ $v autorizado na conta de " . $this->getDono() ."</p>";
}else{
echo "<p>Saldo insuficiente para saque</P>";
}
}else{
echo "<p>Não posso sacar de uma conta fechada!</P";
}
if($this->getStatus()){
return $this->setSaldo($this->getSaldo() = $v);
//echo "<p>Mensalidade de R$</p>". $v ."<p>debitado na conta de</P> " . this->getDono() . "</p>";
echo "<p>Mensalidade de R$</p>". $v ."<p>debitado na conta de</P> " . $this->getDono();
}else{
echo "<p>Problemas com a conta. Não posso cobrar.</P>";
}
}
}
}
Pergunta
Maxgomesrj
Boa Noite Pessoal!...
Estou aprendendo PHP com orientação a objeto.
Porém eu estou com dificuldades em entender nesta parte.
Peço ajuda.!
A mensagem diz:
Erro fatal: não é possível usar o valor de retorno do método no contexto de gravação em D: \ xampp \ htdocs \ ProjetoBanco \ ContaBanco.php na linha 133
Arquivo inde.php
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<pre>
<?php
require_once "ContaBanco.php";
$ps1 = new ContaBanco(); // Juvileu.
$ps2 = new ContaBanco(); //Creuza.
$ps1->abrirConta("cc");
$ps1->setNumConta(111);
$ps1->setDono("Jubileu");
$ps2->abrirConta("cp");
$ps2->setDono("Creuza");
$ps2->setNumConta(222);
$ps1->depositar(300);
$ps2->depositar(500);
$ps2->sacar(100);
$ps1->pagarMensal();
$ps2->pagarMensa();
$ps1->fecharConta();
$ps2->fecharConta();
print_r($p1);
print_r($p2);
?>
</pre>
</body>
</html>
Arquivo ContaBanco.php
<?php
class ContaBanco {
//Atributos
public $numConta;
protected $tipo;
private $dono;
private $saldo;
private $status;
//Métodos
function __construct($saldo, $status) {
$this->setSaldo(0);
$this->setStatus(false);
echo "<p>Conta criada com sucesso!</P>";
}
function getNumConta() {
return $this->numConta;
}
function getTipo() {
return $this->tipo;
}
function getDono() {
return $this->dono;
}
function getSaldo() {
return $this->saldo;
}
function getStatus() {
return $this->status;
}
function setNumConta($numConta) {
$this->numConta = $numConta;
}
function setTipo($tipo) {
$this->tipo = $tipo;
}
function setDono($dono) {
$this->dono = $dono;
}
function setSaldo($saldo) {
$this->saldo = $saldo;
}
function setStatus($status) {
$this->status = $status;
}
public function abrirConta($t){
Editado por Maxgomesrj$this->setTipo($t);
$this->setStatus(true);
if($t == "cc"){
$this->setSaldo = 50;
}else if($t == "cp"){
$this->saldo = 150;
}
}
public function fecharConta(){
if($this->getSaldo() > 0){
echo "<p>Conta com dinheiro, não pode ser fechada!</p>";
}elseif($this->saldo < 0) {
echo "<p>Conta esta em debito, impossível encerrar!</p>";
}else{
$this->setStatus(false);
echo "<p>Conta de " . $this->getDono() . "fechada com sucesso!./p>";
}
}
function depositar($v){
if($this->getStatus()){
/*outras formas
if getStatus(true)
if getStatus
*/
$this->getSaldo($this->getSaldo() + $v);
/*poderia fazer de outra forma
* $this->saldo = $this->saldo + $v;
*/
echo "<p>Depósito de R$ $v na conta de " . $this->getDono() . "</p>";
}else{
echo "<p>Conta fechada não consigo depositar!</p>";
if (getStatus == true){
$saldo = $saldo = $v;
/*outra forma
setSaldo(getSaldo() + $valor);
*/
}else{
echo "Impossível depositar";
}
}
function sacar($v){
if ($this->getStatus == true){
if($this->getSaldo >= $v){
// $this->saldo = $this->saldo - $v;
$this->setSaldo($this->getSaldo()- $v);
echo "<p>Saque de R$ $v autorizado na conta de " . $this->getDono() ."</p>";
}else{
echo "<p>Saldo insuficiente para saque</P>";
}
}else{
echo "<p>Não posso sacar de uma conta fechada!</P";
}
}
function pagarMensal(){
if($this->getTipo() == "cc"){
$v = 12;
}else if($this->getTipo == "cp"){
$v = 20;
}
if($this->getStatus()){
return $this->setSaldo($this->getSaldo() = $v);
//echo "<p>Mensalidade de R$</p>". $v ."<p>debitado na conta de</P> " . this->getDono() . "</p>";
echo "<p>Mensalidade de R$</p>". $v ."<p>debitado na conta de</P> " . $this->getDono();
}else{
echo "<p>Problemas com a conta. Não posso cobrar.</P>";
}
}
}
}
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.