Evo da objasnim. On ce u startu da koristi nesto sto se zove Fixture model. Fixture model predstavlja obican JSON object sa nekom strukturom koja je popunjena odgovarajucim informacijama. Taj JSON ne mora da bude dostavljen klijnetu (browseru) putem PHP-a, to moze da iskuca u bilo kom editoru i da includuje u svoj projekat kao JS fajl. Recimo, ovako:
Kod:
var fixture_model = [ todos:
{
id: 1,
title: 'Learn JS',
isCompleted: true
},
{
id: 2,
title: '...',
isCompleted: false
},
{
id: 3,
title: 'Profit!',
isCompleted: false
}
];
Postavlja se pitanje - ako nema PHP-a i serverside procesiranja, kako te infromacije iz fiksnog modela prikazati korisniku? Jer ako imamo PHP, ne treba nam ni JSON i AJAX jer to sve moze da se prikaze kroz PHP, slazemo se? Ako kazemo da nema PHP-a i da se model sap odacima za prikazivanje svi nalaze na klijentskoj strani, onda cemo prikaz da hendlujemo kroz javascript ili jQuery kao Javascript frejmvork. Pretpostavljam da se oko ovoga slazemo?
Ako se slazemo, postavlja se sledece pitanje - kako olaksati sebi zivot i na efikasan nacin prikazati podatke u odgovarajucoj vizuelnoj formi klijentu? Najefikasniji nacin je koriscenje templejt endzina poput Mustache ili njegove unapredjene verzije zvane ICanHaz.js koja ce mu omoguciti da iz svega par linija koda efikasno manipulise prikazom informacija u browseru.
Evo primer jednog templejta:
Kod:
<script type="text/html" id="template-todo">
{{#todos}}
<li data-todo-id="{{id}}">{{title}}</li>
{{/todos}}
</script>
Neki HTML u koji treba da spakuje to:
I na kraju kako da sve spoji:
Kod:
var html = ich.template-todo(fixture_model); $("#some-ul").html(html);
Pretty easy
🙂 dobice UL element sa tri LI elementa od kojih svaki ima upisan titel kao vrednost.
E sad mozemo da predjemoi na sledeci korak - sutra dobijemo relacionu bazu podataka, dobijemo PHP, uvedemo AJAX, pakujemo podatke u JSON, prosledjujemo klijentu, a vec napisan klijentski kod moze da se koristi dalje.