https://github.com/gabriel-felipe/magic
Por
Gabriel Felipe
Model-view-controller (MVC), em português modelo-visão-controlador, é um modelo de arquitetura de software que separa a representação da informação da interação do usuário com ele. O modelo (model) consiste nos dados da aplicação, regras de negócios, lógica e funções. Uma visão (view) pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama.
É possível ter várias visões do mesmo dado, como um gráfico de barras para gerenciamento e uma visão tabular para contadores. O controlador (controller) faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão. As ideias centrais por trás do MVC são a reusabilidade de código e separação de conceitos.
O Model seria esse cara ai da esquerda, quem cuida da plantação, ve o que presta, o que não presta, planta as sementinhas colhe as plantinhas...
A View, é o traficante. É quem leva o produto do Model até o usuário.
Mas reparem que o produto saiu da plantação como mato, e o traficante leva o produto para o usuário de uma maneira mais elaborada. Tem uma embalagem, foi pesado, ou seja o produto foi tratado antes. O cara que faz esse tratamento entre o que sai do model, e o que chega na view é o controller.
.border-radius (@radius: 5px) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}
/* Implementation */
#somediv {
.border-radius(20px);
}
if $browser == 'IE':
#browser-warning {display: block; background:#f00;}
else:
#browser-warning {display:none;}
end
<?php
/*Construindo um grid dinamicamente*/
$nColunas = 12;
$margin = "10px";
$totalGrid = "100%"
for($i=1;$i<=$gridColumns;$i++){
echo ".grid$i {lógica de montagem do grid aqui}";
?>
.box@(max width 300) p {font-size:12px;}
.box@(min width 700) p {font-size:18px; line-height: 32px}
E por último a DbConnect trata das conexões com o banco.
$carro = new DbModel("carros");
$carro->find(5);
echo $carro->titulo;
$informacoes = $carro->info();
print_r($informacoes); /*Retorna um array associativo entre as colunas e seus valores, por exemplo: Array( "id"=>"5",
"titulo"=>"Palio".... e por ai vai.
)
$carros = new DbModelPlural("carros");
$carros->where("ano < :ano", array("ano"=>2000));
$carros->destroy();
{
"admin" : { "admin/servicos" : { "route":"common_servicos" }, "admin/news/nova" : { "route":"common_news_nova" }, "admin/news" : { "route":"common_news" }, "admin/" : { "route":"common_home" } }, "public" : { "contato": {"route":"common_contato"}, "news": {"route":"common_news"}, "depoimentos": {"route":"common_news"}, "links": {"route":"common_links"}, "servicos":{"route": "common_servicos"}, "servico/{^[0-9]+$}":{"route":"common_servicos_info","id":"$1"}, "": {"route":"common_home"} }
}
/*$this->url->get("route","parametros","scopo")*/
$linkServico = $this->url->get("common_servicos_info",array("id"=>9);
$linkHomeAdmin = $this->url->get("common_home",false,"admin");
//Javascript
var ajax = new majax;
ajax.onSuccess = function(msg,data){
//callback em caso de sucesso
}
ajax.onFail = function(msg,data){
//Callback em caso de falha
}
ajax.post("route",{postParametros});
//Php
public function route(){
//Trata os parametros
//Para retornar com sucesso: echo $this->json->success(msg,dataArray);
//Para retornar com falha: echo $this->json->fail(msg,dataArray);
}