Quali convenzioni di denominazione utilizzate per le classi di php? [chiuso]

8

Mi piace molto usare ClassNames e memberNames come convenzione, ma non sono sicuro di come chiamerei il file che contiene una classe.

Mi piace rendere le mie classi definite in un file con lo stesso nome della classe. Ma mi piace anche creare file php in minuscolo. Quindi sono in conflitto.

Se ho una classe chiamata ProductGroup dovrebbe essere definita in ProductGroup.php , productgroup.php o product_group.php ?

So che non c'è una risposta giusta, quindi sto cercando ciò che è più comune o la tua opinione su quale usare .. che usi?

    
posta JD Isaacks 29.09.2010 - 21:51
fonte

6 risposte

6

Al lavoro utilizziamo caratteri di sottolineatura come delimitatori di cartella e denominiamo i file esattamente come il percorso. Il caricatore automatico è molto semplice, deve solo sostituire _ con / e aggiungere '.php' alla fine. ProjectName_Models_ProductGroup () risiederà sempre in ProjectName / Models / ProductGroup.php. Può fare nomi di classi molto lunghi, ma non importa con un IDE.

Potresti usare la stessa convenzione, ma esegui semplicemente strtolower () prima di includere il file.

    
risposta data 29.09.2010 - 22:52
fonte
1

Uso una versione modificata degli standard di codifica PEAR . Come accennato prima aiuta a caricare automaticamente, e trovo che sembra un po 'più pulito e più facile da leggere IMO. Fondamentalmente, ciò che viene giù è solo decidere cosa funziona per te e attenersi ad esso. Finché tutto il codice sembra uguale, alla fine il resto andrà a posto.

    
risposta data 22.10.2010 - 19:40
fonte
1

In genere inserisco una classe 'ProductGroup' in un file denominato 'ProductGroupClass.php', in genere memorizzato in una struttura di directory 'classes'.

    
risposta data 29.09.2010 - 21:54
fonte
1

Cerco di nominare i miei file come il nome della classe, ma in lettere minuscole. Questo aiuta anche con le funzioni autoload .

    
risposta data 29.09.2010 - 22:02
fonte
0

Ho file di classe che abbracciano applicazioni ("librerie") e file di classe specifici per le applicazioni. Le librerie ricevono un prefisso per ridurre al minimo il rischio di conflitti con qualsiasi codice di terze parti che potremmo includere, ad es. in "My Sweet Company" potremmo usare il nome della classe "MSCPerson" piuttosto che "Person."

Utilizziamo CamelCase dei nomi di classe e i file di classe sono denominati CamelCase.class.php . La maggior parte dei file di classe ha la singola classe e tutte le eccezioni specifiche della classe, ma questa regola non è impostata nella pietra. È bello avere file di classe singola per la gf funzione di vim

di vim.

    
risposta data 11.10.2010 - 14:47
fonte
0

Personalmente, immagazzino una classe chiamata MyClass in un file chiamato MyClass.class.php , all'interno di una directory classes .
La mia funzione di caricamento automatico è quindi semplice come

function __autoload($class) {
    require_once("/classes/".$class.".class.php");
}

Non esiste una struttura all'interno della directory classes , ma nei miei progetti questo non è mai stato un problema. Se hai bisogno di sottodirectory, il metodo suggerito da Asa Ayers è molto pratico e facile da implementare.

    
risposta data 11.10.2010 - 15:09
fonte

Leggi altre domande sui tag