Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #21021
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Newsgroups | it.comp.www.php |
| Subject | Re: gestione degli array lacunosa |
| Date | 2016-07-04 16:26 +0200 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <nldrm6$ibk$1@gioia.aioe.org> (permalink) |
| References | <nld63r$1b3t$1@gioia.aioe.org> <dtuotnF19b2U1@mid.individual.net> <nldcvu$1mja$1@gioia.aioe.org> <d94f5522-c189-43c7-b32b-653e8738a0b4@googlegroups.com> |
Il 04/07/2016 14:22, fmassei@gmail.com ha scritto:
>> Visto la direzione che sta prendendo php, è il caso di farle complete le
>> cose.
>>
>
> Non ci sono informazioni sul tipo nell'header degli array, i check di tipo
> andrebbero fatti a runtime su ogni elemento. A meno di non cambiare tutta
> l'implementazione degli array.
>
Qualche miglioramento penso che si potrebbe introdurre.
>>>> 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
>>>> Almeno la key dell'elemento non valido ('number') potrebbe essere
>>>> indicata...
>
> Boh, no, perché? In nessun messaggio d'errore o eccezione c'è nulla di
> simile, non vedo perché arrap_map dovrebbe essere diversa.
>
array_map è solo per citare una funzione tra le altre simili.
>>> 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).
>>>
>>
>> Proprio questo vorrei evitare.
>> Sarebbe il caso che php inizi a fare dei controlli in modo intrinseco.
>> Ne conseguirebbe un codice più pulito; è il caso di iniziare a pensarci!!!
>>
>
> PHP fa i controntrolli specificati negli RFC, se li conosci bene, sennò
> beh.. :)
Come già detto all'inizio, qualche revisione di tanto in tanto...
>
>>> In PHP7 puoi usare try...catch anche con molti tipi di errore (tra cui
>>> questo, visto che te lo dice anche lui: Uncaught TypeError)
>>>
>>
>> E una volta che ho catturato l'errore (che peraltro non è il mio
>> obiettivo) che me ne faccio?
>>
>
> Lo rilanci, lo logghi o lo ignori. Che ci fai con le eccezioni di solito?
>
Ripeto la domanda.
Qual'è l'obiettivo?
L'obiettivo è sapere semplicemente qual'è l'elemento maligno dell'array
che ho passato alla funzione array_map (rileggere post iniziale).
Php la offre questa possibilità?
Mi pare di no.
Quindi non mi resta che implementare a mano i soliti controlli, usare
eventuali var_dump, ecc.
Pazienza, vedremo se ci saranno novità in future versioni.
Back to it.comp.www.php | Previous | Next — Previous in thread | Next 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