Ho un progetto che usa la convenzione di denominazione underscore per il database MySQL e gli script PHP, ma usa camelCase per l'applicazione javascript (uno scenario comune sono sicuro).
Tuttavia, una volta che gli oggetti codificati JSON vengono inviati dal lato server al lato client, la convenzione di denominazione javascript viene inquinata con oggetti che hanno proprietà che utilizzano la convenzione di denominazione di sottolineatura!
La mancata corrispondenza diventa evidente, ad esempio, quando una proprietà dell'oggetto JSON viene confrontata direttamente con una variabile locale, ad es.
function matchCustomerByName(customer, firstName, lastName){
if (customer.first_name === firstName && customer.last_name === lastName) {
...
}
}
Forse è solo per me, ma non mi piace la mancata corrispondenza dello stile di denominazione sopra. La mia domanda è: sono metodi standard / preferiti / accettati per risolvere il problema? È anche un problema?
Sono tentato di usare camelCase per l'intero progetto (MySQL, PHP e javascript). La funzione precedente dovrebbe quindi leggere:
function matchCustomerByName(customer, firstName, lastName){
if (customer.firstName === firstName && customer.lastName === lastName) {
...
}
}
Tuttavia, l'utilizzo di camelCase per il database MySQL sembra andare contro la pratica comune.
Forse potrei convertire tra le due convenzioni di denominazione nella fase PHP? C'è un modo semplice (a prova di errore) per farlo?