ti-enxame.com

Quais convenções de nomenclatura você usa para classes php?

Eu realmente gosto de usar ClassNames e memberNames como convenção, mas não sei como nomearia o arquivo que contém uma classe.

Eu gosto de definir minhas classes em um arquivo com exatamente o mesmo nome da classe. Mas também gosto de criar arquivos php minúsculos. Então, eu estou em conflito.

Se eu tiver uma classe chamada ProductGroup, isso deve ser definido em ProductGroup.php, productgroup.php ou product_group.php?

Sei que não há resposta certa, por isso estou procurando o que é mais comum ou a sua opinião sobre o que usar .. qual você usa?

8
JD Isaacks

No trabalho, usamos sublinhados como delimitadores de pasta e nomeamos os arquivos exatamente da mesma maneira que o caminho. O carregador automático é muito simples, basta substituir _ por/e adicionar '.php' ao final. ProjectName_Models_ProductGroup () sempre residirá em ProjectName/Models/ProductGroup.php. Pode gerar nomes de classe muito longos, mas isso realmente não importa com um IDE.

Você pode usar a mesma convenção, mas apenas execute strtolower () antes de incluir o arquivo.

6
Asa Ayers

Eu uso uma versão modificada de Padrões de codificação PEAR . Como mencionado anteriormente, ajuda no carregamento automático, e acho que parece um pouco mais limpo e fácil de ler IMO. Basicamente, o que se resume é apenas decidir o que funciona para você e cumpri-lo. Desde que todo o código pareça o mesmo, no final, o resto se encaixará.

1
Christian South

Normalmente, eu colocava uma classe 'ProductGroup' em um arquivo chamado 'ProductGroupClass.php', normalmente armazenado em uma estrutura de diretórios 'classes'.

1
GrandmasterB

Tento nomear meus arquivos da mesma forma que o nome da classe, mas em letras minúsculas. Isso também ajuda nas funções autoload.

1
Josh K

Eu tenho arquivos de classe que abrangem aplicativos ("bibliotecas") e arquivos de classe específicos para aplicativos. As bibliotecas obtêm um prefixo para minimizar o potencial de conflitos com qualquer código de terceiros que possamos incluir, ie. em "My Sweet Company", podemos usar o nome da classe "MSCPerson" em vez de "Person".

Usamos CamelCase nomes de classe e os arquivos de classe são nomeados CamelCase.class.php. A maioria dos arquivos de classe possui a única classe e quaisquer exceções específicas da classe, mas essa regra não é definida. É bom ter arquivos de classe única para o recurso gf do vim.

0
Annika Backstrom

Pessoalmente, armazeno uma classe chamada MyClass em um arquivo chamado MyClass.class.php, dentro de um diretório classes.
Minha função de carregamento automático é tão simples quanto

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

Não há estrutura dentro do diretório classes, mas nos meus projetos isso nunca foi um problema. Se você precisar de subdiretórios, o método sugerido por Asa Ayers é muito prático e fácil de implementar.

0
Davide Gualano