Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #21014
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Newsgroups | it.comp.www.php |
| Subject | Re: gestione degli array lacunosa |
| Date | 2016-07-04 10:34 +0100 |
| Message-ID | <dtuotnF19b2U1@mid.individual.net> (permalink) |
| References | <nld63r$1b3t$1@gioia.aioe.org> |
On 04/07/2016 09:18, alex wrote:
> function test(callable[] $value) {}
>
> PHP Parse error: syntax error, unexpected '[', expecting variable
> (T_VARIABLE)
> Siamo alla versione 7, ma di array tipizzati nemmeno l'ombra.
> VisualBasic c'è li aveva già negli anni 90.
Puoi tornare a usare VisualBasic, se vuoi. Nessuno ti ferma, eh.
VB era a tipizzazione statica e forte.
PHP è a tipizzazione debole (il 7 la rende opzionalmente forte) e dinamica.
Cosa ti fa pensare di poterli confrontare?
> function test(Abc $value) {}
>
> $arr = array(new Abc, 'number' => 2, new Abc);
> array_map("test", $arr);
>
> Fatal error: Uncaught TypeError: Argument 1 passed to test() must be an
> instance of Abc, integer given
Che è corretto.
> Almeno la key dell'elemento non valido ('number') potrebbe essere
> indicata...
È una closure, non sa niente dell'indice, e array_map fa il suo: chiama
la funzione con un elemento dell'array.
Se sai che la tua struttura dati è dinamica, non forzare il tipo.
Se non sai se è dinamica, sviluppa in modo difensivo (con un foreach e
degli if, per esempio).
In PHP7 puoi usare try...catch anche con molti tipi di errore (tra cui
questo, visto che te lo dice anche lui: Uncaught TypeError)
> Con la versione 8 di un ipotetico anno 2018 si riusciranno a colmare
> certe lacune?
Forse se inizi a segnalare i bug agli sviluppatori invece di lamentarti
semplicemente sui newsgroup, qualche possibilità c'è.
Bye.
Back to it.comp.www.php | Previous | Next — Previous in thread | Find similar | Unroll thread
gestione degli array lacunosa alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-04 10:18 +0200
Re: gestione degli array lacunosa alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-04 17:26 +0200
Re: gestione degli array lacunosa fmassei@gmail.com - 2016-07-04 08:47 -0700
Re: gestione degli array lacunosa alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-04 18:56 +0200
Re: gestione degli array lacunosa fmassei@gmail.com - 2016-07-04 10:52 -0700
Re: gestione degli array lacunosa fmassei@gmail.com - 2016-07-04 20:08 -0700
Re: gestione degli array lacunosa alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-05 11:20 +0200
Re: gestione degli array lacunosa alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-05 11:57 +0200
Re: gestione degli array lacunosa alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-05 02:20 +0200
Re: gestione degli array lacunosa alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-04 12:15 +0200
Re: gestione degli array lacunosa fmassei@gmail.com - 2016-07-04 05:22 -0700
Re: gestione degli array lacunosa alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-07-04 16:26 +0200
Re: gestione degli array lacunosa fmassei@gmail.com - 2016-07-04 07:50 -0700
Re: gestione degli array lacunosa Alessandro Pellizzari <shuriken@amiran.it> - 2016-07-04 10:34 +0100
csiph-web