Parametri di passaggio PHP a una funzione [chiusa]

1

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){

}
    
posta Duli 22.01.2014 - 06:30
fonte

2 risposte

2

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.

    
risposta data 22.01.2014 - 13:03
fonte
0

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.

    
risposta data 22.01.2014 - 09:40
fonte

Leggi altre domande sui tag