Qual è la convenzione di denominazione dominante per le variabili in PHP: camelcase o underscore? [chiuso]


52

Il consenso sembra essere quello di seguire la convenzione della piattaforma per cui stanno sviluppando. Vedere:

Underscore o camelcase?

Convenzioni di denominazione: camelCase contro underscore_case?

Tuttavia, PHP non sembra seguire rigorosamente alcuna convenzione internamente (senza sorprese lì), anche per metodi e funzioni (ad es mysqli::set_local_infile_default. PDOStatement::debugDumpParams); tuttavia, i caratteri di sottolineatura sembrano essere dominanti nei nomi delle funzioni.

Tuttavia, ciò che non sono riuscito a trovare è stato questo: qual è la convenzione di denominazione dominante per le variabili in PHP?


1
Scegline uno e mantienilo. Non importa quale sceglierai, fintanto che rimani con esso. Lo stesso vale per le schede rispetto agli spazi.
yannis,

2
Concordo pienamente con l'opinione prevalente nelle discussioni collegate: si dovrebbe seguire la convenzione. Ecco perché ho limitato l'ambito della domanda a PHP. Tuttavia, sto iniziando a chiedersi se ci sia una convenzione di denominazione dominante in PHP.
sbichenko,

5
Non c'è, le convenzioni di denominazione sono ancora un'altra di quelle piccole incongruenze che rendono PHP così meraviglioso con cui lavorare. Il PSR è l'unico sforzo che penso valga la pena seguire, ma ... dipende completamente da te. Domande correlate: esistono guide di stile standard per PHP? & Perché Bootstrap 3 cambia camelCase in trattini: è più leggibile? .
yannis,

Questa domanda potrebbe esserti utile: programmers.stackexchange.com/questions/149303/…
programmatore

Risposte:


51

Non esiste una convenzione di denominazione definitiva in PHP e differiscono per framework:

Quindi: usa qualunque cosa usi il tuo framework o crea la tua convenzione di denominazione.

Almeno per i nomi delle funzioni e i metodi di classe, c'è una cosa da considerare, ma alcuni framework lo scartano: in questo caso PHP non fa distinzione tra maiuscoleaTonalFunction() e minuscole , quindi atonalFunction()sono entrambe chiamate alla stessa funzione.


1
Nulla contro il tuo argomento di denominazione metondata, ma questa non è assolutamente la convenzione. Tutti i moderni framework e librerie come Zend Framework 2 , Doctrine 2 e Symfony 2 usano camelCase per i nomi dei metodi.
Rudolph Gottesheim,

@RudolphGottesheim Un buon punto. Ho modificato la risposta di conseguenza.
Residuum

1
Interessante. Sono venuto qui perché ho trovato sgradevole la convenzione di codifica di wordpress. Ora vedo almeno che intendevano che fosse sgraziato
Kirby

14

Come codice per più di dieci anni con PHP, posso vedere un passaggio da trattino basso a camelCase. Soprattutto i framework più grandi come Zend e Symfony si accumulano su camelCase anche quando non vietano la sottolineatura, ma tutta la funzione principale è camelCase.

Puoi vedere molte soluzioni di sottolineatura nei sistemi più vecchi, come il vecchio ramo Typo3 (Typo3 Neo anche cambiato in camelCase).

Ma sicuramente non esiste una regola rigida, che viene utilizzata da tutti, è proprio quello che posso vedere negli ultimi anni.


1

Ciò dipende dai programmatori / sviluppatori, nonché dal framework o dall'open source su cui stanno lavorando. Ad esempio, nel framework Yii, è consigliabile utilizzare il caso camel mentre nel framework Codeigniter, la maggior parte delle persone segue nomi di variabili con caratteri di sottolineatura. Una cosa certa è che, indipendentemente dal framework utilizzato, il nome della variabile deve essere comprensibile e identificabile.


0

Personalmente, questo può andare in entrambi i modi. Alcuni programmatori preferiscono il modo di scrivere di CamelCase, altri preferiscono il carattere di sottolineatura ... Quindi, porre una domanda come questa è irrilevante poiché ogni programmatore avrà una propria opinione diversa ... Personalmente, ho l'abitudine di fare entrambe le cose a seconda della situazione. ..

Situazione 1:

Ti sei unito a un team di programmazione e ti sei unito a un progetto in corso, noti che è stata stabilita una variabile di esempio:

$theString = "This is a camelcase example";

Ma hai uno stile preferito di:

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

in una situazione come questa, sarebbe meglio continuare a camelcase.

Situazione due:

Desideri iniziare un progetto da solo.

In questo tipo di caso ... Dipende solo da cosa ti senti a tuo agio, tenendo presente le cattive pratiche in termini di:

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

Ciò può facilmente causare risultati imprevisti. Tienilo a mente.


9
Cordiali saluti, quello a cui ti riferisci è PascalCase - camelCase inizia con una lettera minuscola.
John Weisz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.