2010-10-14 9 views
7

Aloha,Convenzioni di denominazione - Lavorare con PHP e MySQL

Ho appena iniziato la programmazione di recente in PHP e hanno una domanda di base convenzione di denominazione. Ho letto molti standard di codifica PHP dopo aver letto this post. Ha perfettamente senso per me, dal momento che preferisco già usare CamelCase quando si nominano le variabili. Dato che lavorerò con MySQL, leggo anche le convenzioni sui nomi dei database. Ci sono molte preferenze diverse, ma sembra che finché sei coerente, va bene. Una cosa che ho notato, tuttavia, è che la maggior parte delle convenzioni di denominazione dei database dice di avviare gli attributi con una lettera maiuscola, mentre in PHP (oltre alla maggior parte della programmazione), le variabili dovrebbero iniziare con lettere minuscole. Userò il modello MVC con DAO e VO. Voglio davvero che i miei VO riflettano le tabelle del mio database, ma l'involucro della prima lettera è in conflitto. Dovrei lasciare il case male assortito, o cambiarne uno in modo che siano entrambi uguali? Come fate voi ragazzi a farlo?

Grazie in anticipo,

Frank

risposta

0

farlo come ti piace, ma, come lei stesso ha detto:

[...] finché sei coerente , va bene.

preferirei utilizzare lo stesso alloggiamento per entrambi e iniziare con un carattere minuscolo.

0

Preferisco utilizzare tutti i nomi minuscoli di tabelle e colonne e gli spazi bianchi sono sostituiti per caratteri di sottolineatura. Nome della tabella in singolare del nome del modello. Solitamente aiuta a convertire la struttura del database in standard PEAR del modello.

class User extends MyActiveRecord 
{ 
    public function getFirstName() 
    { 
    //... 
    } 
} 

SELECT * FROM user WHERE first_name LIKE 'Bill' 

Chiavi esterne come "alcune informazioni specifiche" _ "nome tabella esterna" _ "nome colonna anteriore". Aiuta a scoprire, quale tabella colleghiamo per chiave esterna.

SELECT * FROM post LEFT JOIN user ON post.author_user_id = user.id 
+0

Grazie a tutti per il vostro contributo, hai sicuramente mi ha aiutato a venire ad alcune conclusioni. Ho deciso di usare lettere minuscole con caratteri di sottolineatura per la denominazione del mio database. – LeTanc

5

Vorrei suggerire minuscole utilizzato con sottolineature per la denominazione di database come questo renderà il codice più flessibile.

Esempio:

Diciamo che utilizza MySQL come database e il nome di un FooBar tavolo. Ora il client vuole passare a PostgreSQL come un database alternativo, questo fa sì che il nome della tabella diventi un problema poiché postgres utilizza la denominazione in minuscole o racchiusa tra virgolette doppie.

MySQL Query sintassi:

SELECT * FROM FooBar 

Postgres interrogazione sintassi:

SELECT * FROM "FooBar" 

Se tu avessi seguito uno schema di denominazione generica è possibile utilizzare una query per entrambi

SELECT * FROM foo_bar 
1

Ya, per Database e tabella, tutti preferiscono il carattere di sottolineatura. Pochi piacciono tutti maiuscoli e pochi in minuscolo. Ma se Phill è corretto, voterò per tutte le lettere minuscole per DB e table.

Problemi correlati