2
respostas

Parse error: syntax error, unexpected 'PRIVATE' (T_PRIVATE) in C:\xampp\htdocs\phpcoletions\tocadordemusica.php on line 7



require"tocadordemusica.php";
$musicas=new SplfixedArray(2);

$musicas[0]="one dance";
$musicas[1]="closer";

$musicas->setSize(4);

$musicas[2]="rockstar";
$musicas[3]="love yourself";


$tocador=new tocadordemusica();

$tocador->adicionarMusica($musicas);

$tocador->tocarMusica();
//codigo aula1.php
-----------------------------------------------
insira seu código aqui

tocador de musicas.php <?php

class TocadorDeMusica{ public function AdionarMusicas(SplFixedArray $musicas){

private $musicas; public function _construct(){

$this->musicas =new SplDoubyLinkedList();
for($musicas->rewind() ;$musicas->valid();$musicas->next()){

$this-> musicas->push( $musicas->current()); $this->musicas->rewind();

}

$this->musicas->rewind();

} public function TocarMusica (){ if($this->musica->count()==0){ echo"erro,nehuma musica no tocador"; }else{ echo"tocar musica".$this->musicas->current(); } }

}

}

2 respostas

Olá, Ruidinelsom. Ficou um pouco complicado de ler seu código, mas vamos lá:

Dentro do método AdionarMusicas da sua classe parece que você está tentando definir um atributo, com private $musicas;.

Isso gera um erro de sintaxe. Os atributos devem ser definidos fora de qualquer método. O código correto seria:

class TocadorDeMusica
{
    private $musicas; 

    public function __construct()
    {
        $this->musicas = new SplDoubyLinkedList();
    }

    public function adionarMusicas(SplFixedArray $musicas)
    {
        for ($musicas->rewind(); $musicas->valid(); $musicas->next()) {
            $this->musicas->push($musicas->current());
        }

        $this->musicas->rewind();
    } 

    public function tocarMusica()
    {
        if ($this->musica->count() === 0) {
            echo "Erro. Nehuma musica no tocador";
            return;
        }
        echo "Tocar musica" . $this->musicas->current();
    }
}

Conseguiu corrigir o problema, Ruidinelsom?