Voglio passare un parametro ad una funzione come sotto per chiarezza. Non dà alcun errore. Ma questa è una cattiva pratica. Devo evitare questo.
test('','','',$d='text','');
function test($a, $b, $c, $d, $e){
}
In realtà trovo questa domanda interessante:)
La mia opinione è che questa è una cattiva pratica oggi in PHP. Questo tipo di sintassi è tipico di Python che ha una funzione chiamata "named parameters" che consente di chiamare una funzione senza utilizzare lo stesso ordine di chiamate alle variabili.
C'è una RFC nella comunità php per aggiungere questa sintassi alla lingua: link
La discussione interna su questa funzione non è ancora terminata, personalmente mi piacerebbe avere questa funzionalità.
Ad oggi (PHP 5.5), non si ottiene alcun vantaggio nell'uso di questa sintassi mentre si sta valutando la variabile.
C'è qualche ragione per assegnare la variabile $ str in linea come quella? Migliora la chiarezza?
Credo che stia solo valutando $str = 'test'
e passando il risultato $str
alla chiamata alla funzione.
$str
rimane assegnato nell'ambito corrente in modo che tu possa continuare a utilizzare $ str dopo la chiamata di test()
se lo desideri.
È uguale a
$str = 'test';
test($str);
È un po 'strano e potrebbe essere fuorviante quando leggerò il codice più tardi, quindi eviterei di farlo.
Leggi altre domande sui tag php