Skip to content

Commit

Permalink
Modelagem das classes Brand e Imagem [Issue #788]
Browse files Browse the repository at this point in the history
  • Loading branch information
GabrielPintoSouza committed Nov 5, 2024
1 parent 919d5ec commit a1e3ada
Show file tree
Hide file tree
Showing 2 changed files with 136 additions and 0 deletions.
61 changes: 61 additions & 0 deletions html/apoio/model/Brand.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?php
require_once '../model/Imagem.php';

class Brand{

//atributos

private Imagem $imagem;
private $mensagem;

public function __construct(Imagem $imagem, string $mensagem)
{
$this->setImagem($imagem)->setMensagem($mensagem);
}

//métodos acessores

/**
* Get the value of imagem
*/
public function getImagem():Imagem
{
return $this->imagem;
}

/**
* Set the value of imagem
*
* @return self
*/
public function setImagem(Imagem $imagem)
{
$this->imagem = $imagem;

return $this;
}

/**
* Get the value of mensagem
*/
public function getMensagem():string
{
return $this->mensagem;
}

/**
* Set the value of mensagem
*
* @return self
*/
public function setMensagem(string $mensagem)
{
if(!$mensagem || empty($mensagem)){
throw new InvalidArgumentException('O conteúdo de uma mensagem não pode ser vazio.');
}

$this->mensagem = $mensagem;

return $this;
}
}
75 changes: 75 additions & 0 deletions html/apoio/model/Imagem.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<?php

class Imagem{

//atributos

private string $conteudo;
private string $extensao;

public function __construct(string $conteudo, string $extensao)
{
$this->setConteudo($conteudo)->setExtensao($extensao);
}

//lógica

/**
* Retorna a tag html img com o conteúdo da imagem preenchido
*/
public function getHtml():string{
return "<img id='logo_img' width='100px' src=data:image/".$this->extensao.";base64,".gzuncompress($this->conteudo).">";
}

//métodos acessores

/**
* Get the value of conteudo
*/
public function getConteudo():string
{
return $this->conteudo;
}

/**
* Set the value of conteudo
*
* @return self
*/
public function setConteudo(string $conteudo)
{
if(!$conteudo || empty($conteudo)){
throw new InvalidArgumentException('O conteúdo de uma imagem não pode ser vazio.');
}

$this->conteudo = $conteudo;

return $this;
}

/**
* Get the value of exensao
*/
public function getExtensao():string
{
return $this->extensao;
}

/**
* Set the value of exensao
*
* @return self
*/
public function setExtensao($extensao)
{
//considerar fazer uma lista branca de extensões permitidas.

if(!$extensao || empty($extensao)){
throw new InvalidArgumentException('O conteúdo de uma extensão não pode ser vazio.');
}

$this->extensao = $extensao;

return $this;
}
}

0 comments on commit a1e3ada

Please sign in to comment.