eccezione per convenzioni letterali stringa

0

Se sono abituato a usare 'per le stringhe letterali in PHP, sarebbe meglio se mi atterro ad esso in qualsiasi situazione o ci possono essere eccezioni quando aumenterebbe la leggibilità?

Esempio:

$foo = "bar'baz"; // this may be easier to read $foo = 'bar\'baz'; // but this would stick to the convention

    
posta strudelkopf 03.06.2014 - 17:05
fonte

1 risposta

1

C'è una lunga superstizione PHP (e perlopiù falsa ) che le stringhe DQ (double-quoted) sono "più lente" delle stringhe SQ (single-quoted), a causa del fatto che le stringhe DQ può fare interpolazione variabile e le stringhe SQ non possono.

Numerose guide alla convenzione di codifica, come la guida alla convenzione di codifica Media Wiki ( link ) dicono cose come come

For simple string literals, single quotes are slightly faster for PHP to parse than double quotes.

Questo è stato generalmente confutato, con un piccolo numero di eccezioni. Vedi link per una spiegazione più approfondita.

L'unica eccezione a questa regola è se la stringa DQ contiene $. In tal caso, la stringa verrà analizzata due volte e verrà eseguita l'interpolazione. Quindi per stringhe brevi come quelle del tuo esempio, non c'è differenza di velocità e, a mio parere, il guadagno di leggibilità è un vantaggio.

link (collegato sopra da metacubato) contiene molte più informazioni sulla differenza tra le stringhe SQ e DQ.

    
risposta data 06.06.2014 - 13:25
fonte

Leggi altre domande sui tag