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?

sbichenko
fonte
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
Esta pergunta pode ajudá-lo: programmers.stackexchange.com/questions/149303/…
programador
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.

Resíduo
fonte
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.

Tobias
fonte
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.

kanjilal
fonte
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.

Daryl Gill
fonte
9
Para sua informação, o que você está se referindo é PascalCase - camelCase começa com uma letra minúscula.
John Weisz