• Home
  • Forum
  • Fare Web
  • PHP

Php 5.4

  • Creatore Discussione Creatore Discussione alessandro1997
  • Data di inizio Data di inizio 2 Mar 2012

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
28
Roma
alessandro1997.netsons.org
  • 2 Mar 2012
  • #1
Volevo solo informarvi che ieri (avrei dovuto controllare prima!) è stato rilasciato PHP 5.4, che porta davvero moltissime novità. La più importante è probabilmente l'introduzione dei trait, che un utente sul sito di PHP ha definito "language-assisted copy and paste": permettono di risolvere il problema dell'ereditarietà multipla (so già che mi ci vorranno settimane per imparare ad usarli).

Qui tutte le nuove funzioni: http://it.php.net/manual/en/migration54.new-features.php.
 
Ultima modifica: 2 Mar 2012

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 2 Mar 2012
  • #2
ciao
se invece di dormire guardavi....
comunque speriamo bene, che non mi tocchi rifare tutto quello che in anni ho fatto
alcune cose non l'ho capite (e penso non le capirò)
quello che mi piace è lo short array
poi (ma forse non ho capito) si ritorna al deprecato <? ?

il tutto senza contare che quei ca...ni scrivono in russo, cinese, burundiano di sotto... meno che in italiano
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
28
Roma
alessandro1997.netsons.org
  • 3 Mar 2012
  • #3
La differenza è che ora la sintassi <?=$variabile?> funzionerà indipendentemente dal valore della direttiva.

Tanto per curiosità ho scaricato e compilato i sorgenti su Ubuntu 12.04 in macchina virtuale, e preparato questo script:
PHP:
<?php

class Foo
{
    // nuova sintassi per gli array
    protected $var = [1, 2, 3, 4];

    public function show()
    {
        $foo = function() {
            // ora si può usare $this nelle closure
            var_dump($this->var);
        };

        $foo();
    }
}

// prima bisognava istanziare a parte
(new Foo())->show();
Davvero spettacolare.

È anche supportata questa sintassi:
PHP:
<?php

function getArray()
{
    return array('foo', 'bar');
}

echo getArray()[0];
 
Ultima modifica di un moderatore: 4 Mar 2012

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 3 Mar 2012
  • #4
ciao alex
sulla prima può darsi che tu abbia ragione (a me le classi non entrano in testa), ma per la seconda la seconda (avevo fatto anche un commento sul blog) non ne capisco l'utilità se non quella di scrivere righe in più (ma forse non ho ancora raggiunto l'empireo)
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
28
Roma
alessandro1997.netsons.org
  • 3 Mar 2012
  • #5
Intendi l'uso delle closure?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 3 Mar 2012
  • #6
PHP:
<?php 

function getArray() 
{ 
    return array('foo', 'bar'); 
} 

echo getArray()[0];

PHP:
$a=['foo','bar'];
echo $a[0];
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
28
Roma
alessandro1997.netsons.org
  • 3 Mar 2012
  • #7
Beh, non c'è una vera e propria "utilità", si tratta semplicemente di una sintassi più breve ed immediata.

Anche per le closure prima si poteva fare:
PHP:
$object = $this;
$foo = function() use($object) {
    var_dump($object->var);
};
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 3 Mar 2012
  • #8
ciao
semplicemente di una sintassi più breve ed immediata
Clicca per allargare...
non sari molto d'accordo

$a=['foo','bar'];
echo $a[0];
29 caratteri

function getArray()
{
return array('foo', 'bar');
}
echo getArray()[0];
71 caratteri - più del doppio

dimenticavo, se scrivi per semplificare
function g ()
{
return array('f', 'b');
}
echo g ()[0];
i caratteri diventano 54 sempre di più
 
Ultima modifica: 3 Mar 2012

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 3 Mar 2012
  • #9
Diventa comodo se devi richiamare lo stesso array in piu pagine,
invece di riscriverlo in ogni pagina richiami la pagina che contiene la funzione e la funzione.

PHP:
require_once ('funzioni_utili.php');
echo getArray()[0];

E se un giorno devi aggiungere un elemento all'array lo fai una volta nella funzione
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
28
Roma
alessandro1997.netsons.org
  • 3 Mar 2012
  • #10
borgo, credo che tu non abbia capito. La nuova sintassi non serve per semplificare la chiamata all'elemento di un array, ma per semplificare la chiamata all'elemento di un array restituito da una funzione:
PHP:
<?php

// ...

$dato = mysql_fetch_assoc($query)['dato'];
Quando prima era:
PHP:
<?php

// ...

$riga = mysql_fetch_assoc($query);
$dato = $riga['dato'];
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 5 Mar 2012
  • #11
ciao
@alex
a quello non avevo pensato, può essere utile, ma, mi sembra, in questo caso di utilizzo limitato se devi estrarre solo un dato se devi estrarne più di uno forse è meglio il vecchio metodo

@ciric
PHP:
require_once ('array_utili.php'); 
echo $pinco[0];
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

H
Need Help with PHP Database Connection Issues
  • hellmmithha
  • 19 Dic 2024
  • PHP
Risposte
1
Visite
807
PHP 21 Mar 2025
therope
T
F
Cerco Hosting con VECCHIE versioni di php
  • frk
  • 4 Mar 2024
  • Hosting
Risposte
0
Visite
2K
Hosting 4 Mar 2024
frk
F
Captcha php
  • Cosina
  • 21 Gen 2024
  • PHP
Risposte
1
Visite
2K
PHP 22 Gen 2024
WmbertSea
S
passare un valore da un form a un file .php con metodo post
  • smack2005
  • 15 Nov 2023
  • PHP
Risposte
4
Visite
2K
PHP 23 Nov 2023
zorro
N
php msyql
  • nik13
  • 10 Ott 2023
  • PHP
Risposte
6
Visite
3K
PHP 23 Ott 2023
zorro
N
php problemi a visualizzare video
  • nik13
  • 8 Ott 2023
  • PHP
Risposte
3
Visite
2K
PHP 11 Ott 2023
WmbertSea
A
menu a tendina php
  • Annama74
  • 30 Apr 2023
  • PHP
Risposte
1
Visite
2K
PHP 1 Mag 2023
marino51
D
  • Bloccata
protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito
  • dastur67
  • 5 Apr 2023
  • Web Server
Risposte
1
Visite
3K
Web Server 5 Apr 2023
dastur67
D
F
Php date_diff
  • Fra_23
  • 30 Mar 2023
  • PHP
Risposte
1
Visite
2K
PHP 31 Mar 2023
marino51
K
[PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa
  • Kiko74b
  • 16 Mar 2023
  • PHP
Risposte
2
Visite
3K
PHP 18 Mar 2023
Kiko74b
K
C
Wp-admin a file php
  • Cpu03
  • 25 Gen 2023
  • WordPress
Risposte
5
Visite
4K
WordPress 6 Mar 2023
Cpu03
C
[Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress
  • Lino80
  • 9 Gen 2023
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
4K
Offerte e Richieste di Lavoro e/o Collaborazione 9 Gen 2023
Lino80
Inviare file jpg in locale alla stampante con php
  • csi
  • 14 Dic 2022
  • PHP
Risposte
0
Visite
1K
PHP 14 Dic 2022
csi
M
Passaggio variabili array php su un tasto jq
  • maubox8
  • 9 Dic 2022
  • PHP
Risposte
3
Visite
2K
PHP 10 Dic 2022
maubox8
M
E
Php aggiornamento tabella
  • Emanuele85
  • 1 Dic 2022
  • PHP
Risposte
9
Visite
2K
PHP 2 Dic 2022
WmbertSea
G
phpmailer e php 8.1 con estensione mysqli
  • giacomo9783
  • 24 Nov 2022
  • PHP
Risposte
6
Visite
2K
PHP 5 Dic 2022
giacomo9783
G
M
Invio dati database via email php
  • Maelstrom
  • 23 Nov 2022
  • PHP
Risposte
0
Visite
1K
PHP 23 Nov 2022
Maelstrom
M
K
[php] Problema con inner join
  • Kiko74b
  • 22 Nov 2022
  • PHP
Risposte
4
Visite
2K
PHP 23 Nov 2022
Kiko74b
K
K
[php]form invio dati
  • Kiko74b
  • 7 Nov 2022
  • PHP
Risposte
0
Visite
2K
PHP 7 Nov 2022
Kiko74b
K
P
Codifica caratteri speciali mysql php
  • Peterrey76
  • 24 Ott 2022
  • PHP
Risposte
2
Visite
3K
PHP 23 Apr 2025
webest
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?