Referente ao Curso de PHP POO, da Aula Prática 15 – Projeto Final em PHP (Parte 2):
No projeto final ref. vídeos do Youtube, percebi que o método “setAvaliacao($avaliacao)” não tinha comportamento linear acima de 2 visualizações
Segue correção:
function setAvaliacao($avaliacao){
// A avaliação deve ser de acordo com a qtde de
// views do vídeo assistido, portanto:
if($this->views > 2){
$total = ($this->avaliacao * ($this->views -1)); // Total de avaliação antes de uma nova visualização
$media = ($total + $avaliacao) / $this->views; // Média linear igualitária
$this->avaliacao = $media;
}else{ // Até 2 visualizações, o comportamento é linear:
$media = ($this->avaliacao + $avaliacao) / $this->views;
$this->avaliacao = $media;
}
}
Visão geral do exercício ———————
– classe “Visualizacao.php” irá agregar as 2 outras classes:
– classe Video.php >> controle de qtde de views, nota de avaliação e curtidas de um titulo
– classe Gafanhoto.php >> controle de acesso do avaliador via login e a qtde total assistida (totAssistido)
– A classe Visualizacao tem 2 atributos:
– filme >> irá receber o “objeto Video”
– espectador >> ira receber o “objeto Gafanhoto”
– O atributo “filme” será o canal de navegação para atribuir e ler valores dos atributos do “objeto Vídeo”
– O atributo “espectador” será o canal de navegação p/ atribuir e ler valores dos atributos do “objeto Gafanhoto”
– Desta forma, o “objeto Visualizacao”, além de fazer o controle, irá conter todos os valores necessários para gerar futura base de dados de todos os vídeos assistidos assim como avaliação de cada um deles com a qtde de views, curtidas e o login de quem acessou