21. december 2012 - 10:21Der er
7 kommentarer og 1 løsning
Data fra tablet.php via json eller lave nyt script
Jeg har et php-script (tablet.php), der anvendes af en app til at hente data fra min DB. Tabletten forespørger på en url (f.eks. tablet.php?uid=1234&action=get_all). Data returneres i json-format. Dette fungerer som ønsket.
Nu skal jeg i gang med at lave en hjemmeside med samme funktioner som app'en, men er i tvivl om præcis hvordan jeg laver det smartest.
Min tanke var at lave hjemmesiden således at den trækket data via samme url som tabletten. Første gang brugeren går ind på siden vil det så være php, der serverer siden for brugeren, men løbende opdateringer mens brugeren er på siden vil ske vha. jquery, hvilket igen vil bruge tablet.php.
Nogen der kan spille ind med fordele/ulemper ved at lave det på ovennævnte måde?
Det jeg ser som fordele, er at data, uanset om det vises på tablet, pc, eller hentes via jquery altid hentes af samme script. Det vil gøre testprocessen ved ændring i f.eks. Databaseopbygning simplere.
Hvordan klienten poller serveren, bør aldrig kunne få indflydelse på databasestrukturen. Den er i et fornuftigt designpattern helt uafhængig af visningslaget og logiklaget. Er det ikke tilfældet, bør du helt klart kikke på din struktur - og evt. mangel på designpattern overvejelser.
Derudover er der ingen problemer med at bruge Ajax. Serveren returnerer data som JSON - og dokumentet i browseren parser disse data og indsætter dem med DOM i dokumentet. Dog ville det nok være mere hensigtsmæssigt at anvende POST i stedet for GET =)
Ja, det er klart, at der skal laves to forskellige frontends, og at disse skal vedligeholdes forskelligt, men databasekoderne er præcis de samme. Det var bare det, der var min pointe =)
Jeps, min pointe var, at hvis jeg lave 2 frontends der trak på 2 forskellige backends, så er der 2 backends der skal rettes, såfremt jeg f.eks. tilføjer et ekstra felt i min database.
Jeg går ud fra du som sædvanlig ikke vil have point?
Min pointe var bare, at det jo kun er selve udskrivningsdelen (= frontend), som er forskellig. Logik- og databaselagene (= backend) er de samme - så der er kun én backend, som skal rettes/vedligeholdes =)
Du har helt ret - jeg samler ikke points. Men tak for tilbudet og God Jul *<|:o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.