No post anterior introduzi os padrões Front Controller e Command. Expliquei seus benefícios e dei exemplos de como implementar em java. Nesse post apresentarei a versão em PHP (PHP versão 5 ou superior).
Leia o post original para entender os conceitos do artigo.
Vamos lá:
Estrutura de diretórios
./commands/
./commands/DeletarProduto.php
./commands/AlterarProduto.php
./Controller.php
DeletarProduto.php
<?php
class DeletarProduto{
public function execute() {
//DELETA O PRODUTO
}
}
?>
AlterarProduto.php
<?php
class AlterarProduto{
public function execute() {
//ALTERA O PRODUTO
}
}
?>
E agora o Controller.php:
<?php
//carrega o command
require_once "commands/".$_REQUEST['command'].".php";
$reflectionClass = new ReflectionClass($_REQUEST['command']);
$command = $reflectionClass->newInstance();
$command->execute();
?>
Para acessar o command basta usar a url: Controller.php?command=AlterarProduto ou Controller.php?command=DeletarProduto.
O Fato do PHP ter tipagem dinâmica facilita muito as coisas, tornando o código bem menos verboso em comparação com o java.
Atenciosamente,
Gustavo Marques
Nenhum comentário:
Postar um comentário