-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Modelagem das classes Brand e Imagem [Issue #788]
- Loading branch information
1 parent
919d5ec
commit a1e3ada
Showing
2 changed files
with
136 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | ||
} | ||
} |