Qual é a convenção de nomenclatura dominante para variáveis ​​no PHP: camelcase ou sublinhados? [fechadas]


51

O consenso parece ser que se deve seguir a convenção da plataforma para a qual eles estão desenvolvendo. Vejo:

Sublinhado ou camelcase?

Convenções de nomenclatura: camelCase versus underscore_case?

No entanto, o PHP parece não seguir estritamente nenhuma convenção internamente (sem surpresas), mesmo para métodos e funções (por exemplo mysqli::set_local_infile_default, PDOStatement::debugDumpParams); no entanto, sublinhados parecem ser dominantes nos nomes das funções.

No entanto, o que não consegui encontrar foi o seguinte: qual é a convenção de nomenclatura dominante para variáveis ​​no PHP?


Escolha um e fique com ele. Não importa qual você escolherá, desde que fique com ele. Mesmo com guias versus espaços.
— yannis

2
Concordo plenamente com a opinião predominante nas discussões vinculadas: deve-se seguir a convenção. É por isso que limitei o escopo da pergunta ao PHP. No entanto, eu estou começando a me perguntar se não é uma convenção de nomenclatura dominante em PHP.
— Sbichenko

5
Não há, convenções de nomenclatura é mais uma daquelas pequenas inconsistências que tornam o PHP tão maravilhoso de se trabalhar. PSR é o único esforço que eu acho que vale a pena seguir, mas ... depende inteiramente de você. Perguntas relacionadas: Existem guias de estilo padrão para PHP? & Por que o Bootstrap 3 altera o camelCase para traços - é mais legível? .
— yannis


A primeira ligação está morto, mas aqui é o arquivo: web.archive.org/web/20130417105957/http://stackoverflow.com/...
— Dmitri Zaitsev

Respostas:


50

Não existe uma convenção de nomenclatura definitiva no PHP, e eles diferem por estrutura:

Portanto: use o que sua estrutura usa ou crie sua própria convenção de nomenclatura.

Pelo menos para nomes de funções e métodos de classe, há uma coisa a considerar, mas algumas estruturas a descartam: o PHP não diferencia maiúsculas de minúsculas nesse caso , portanto, aTonalFunction()e atonalFunction()são chamadas para a mesma função.


11
Nada contra o seu segundo argumento de nomeação, mas essa não é absolutamente a convenção. Todas as estruturas e bibliotecas modernas como Zend Framework 2 , Doctrine 2 e Symfony 2 usam camelCase para nomes de métodos.
— Rudolph Gottesheim

@RudolphGottesheim Good point. Eu editei a resposta de acordo.
— Residuum

11
Interessante. Eu vim aqui porque achei a convenção de codificação do wordpress desajeitada. Agora eu vejo, pelo menos, eles queriam dizer que ele seja deselegante
— Kirby

14

Como codificando por mais de dez anos com PHP, posso ver uma mudança de sublinhado para camelCase. Especialmente as estruturas maiores, como Zend e Symfony, também se baseiam no camelCase quando não proíbem o sublinhado, mas toda a função principal é o camelCase.

Você pode ver muitas soluções de sublinhado em sistemas mais antigos, como o antigo ramo Typo3 (o Typo3 Neo também mudou para camelCase).

Mas definitivamente não existe uma regra estrita, usada por todos, é exatamente o que posso ver nos últimos anos.


1

Isso depende dos programadores / desenvolvedores, bem como da estrutura ou código aberto em que estão trabalhando. Por exemplo, na estrutura Yii, é recomendável usar o caso camel, enquanto na estrutura Codeigniter, a maioria das pessoas segue nomes de variáveis ​​com sublinhados. Uma coisa é certa: independentemente da estrutura usada, o nome da variável deve ser compreensível e identificável.


0

Pessoalmente, isso pode ser de qualquer maneira. Alguns programadores preferem a maneira CamelCase de escrever, outros preferem sublinhado ... Então, fazer uma pergunta como essa é irrelevante, pois cada programador terá sua própria opinião diferente ... Pessoalmente, tenho o hábito de fazer as duas coisas, dependendo da situação. ..

Situação um:

Você ingressou em uma equipe de programação e em um projeto em andamento, percebe que uma variável de exemplo está definida:

$theString = "This is a camelcase example";

Mas você tem um estilo preferido de:

$the_string = "This is not a camelcase example"; 

em uma situação como essa, seria melhor ficar no camelcase.

Situação dois:

Você deseja iniciar um projeto sozinho.

Nesse tipo de caso ... Tudo se resume ao que você se sente confortável, lembre-se de práticas inadequadas em termos de:

$theString = "This is a sample String"; 
$the_string = "This is another sample string within the same project"; 

Isso pode facilmente causar resultados inesperados. Basta ter isso em mente.


9
Para sua informação, o que você está se referindo é PascalCase - camelCase começa com uma letra minúscula.
— John Weisz
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.