Sto sviluppando applicazioni web utilizzando PHP con il framework CodeIgniter MVC con un'enorme necessità di funzionalità lato client in tempo reale. Questa è la prima volta che realizzo app su larga scala per client. Quindi combino il PHP con una grande quantità di moduli Javascript in un unico progetto.
Come già sapete, il framework MVC separa i moduli dell'applicazione in Model-View-Controller.
La mia preoccupazione riguarda il livello Visualizza.
Potrei visualizzare i dati sul DOM tramite il tag script PHP integrato caricando alcuni dati sul Controller. Altrimenti potrei usare AJAX per estrarre i dati - considerare il Controller come un servizio solo - e visualizzarli per Javascript.
Ecco alcune visualizzazioni
Potrei inserire i dati direttamente da Controller:
<label>Username</label> <input type="text" id="username" value="<?=$userData['username'];?>"><br />
<label>Date of birth</label> <input type="text" id="dob" value="<?=$userData['dob'];?>"><br />
<label>Address</label> <input type="text" id="address" value="<?=$userData['address'];?>">
O estraili usando AJAX:
$.ajax({
type: "POST",
url: config.indexURL + "user",
dataType: "json",
success: function(data) {
$('#username').val(data.username);
$('#dateOfBirth').val(data.dob);
$('#address').val(data.address);
}
});
Quindi, quale approccio è migliore per quanto riguarda la mia applicazione ha una complessa funzionalità lato client?
D'altra parte, PHP-CI ha un meccanismo predefinito per mettere i dati direttamente dal controller, quindi perché usare AJAX?