MVC + AJAX Melhor maneira de organizar os arquivos ?
Eu tenho uma duvida que ate hoje não consegui chegar a conclusão de qual á melhor forma, pois atualmente estou estudando a arquitetura MVC por conta.
Se alguém puder me ajudar ou mandar algum artigo que trata sobre o assunto.
Imagina que o meu diretório esteja organizado dessa forma:
ASSETS
JAVASCRIPT
IMAGENS
APP
CONTROLLER
MODELS
ROUTES
VIEWS
CONFIG
SERVER
DB
INDEX.PHP
E na views tem uma página que eu gostaria de listar os clientes via ajax, da forma "tradicional" caso eu gostaria que essa listagem fosse feita no carregamento da página, no controller eu faria essa requisição ao model e entregava para a view um array de clientes, certo?
Mas no cenário em que eu preciso desses clientes via ajax, qual seria a melhor forma?
Eu pensei em duas situações, primeira:
No model uma variável chamada função, que recebe por GET qual função executar, ai ficaria algo do tipo no modelCliente.php
<?php
$funcao = $_GET['funcao'];
$objCliente = new Cliente;
$lista = $objCliente->$funcao();
class Cliente{
public function all(){
...
echo $array_clientes;
}
}
?>
Ai no JS, seria algo desse tipo:
$.ajax({
url: "clienteModel.php",
type: "get",
data: {funcao: "all"},
success: function(result){
console.log(result);
}
})
A segunda maneira seria a **modelCliente.php** assim:
<?php
class Cliente{
public function all(){
...
return $array_clientes;
}
}
?>
Ai teria uma página em PHP ponte, seria algo desse tipo **listar_todos.php**:
<?php
include_once "modelCliente.php";
$model_cliente = new Cliente;
$clientes = $model_cliente->all();
echo $clientes;
?>
Ai no JS, seria algo desse tipo:
$.ajax({
url: "listar_todos.php",
success: function(result){
console.log(result);
}
})
A segunda maneira eu acho mais simples, porém eu teria que ter um arquivo ponte para todas as classes do model e onde eu deixaria esses arquivos na arquitetura MVC?Discussão (3)
Carregando comentários...