Php 5.4

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
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:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
26
Roma
alessandro1997.netsons.org
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:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
26
Roma
alessandro1997.netsons.org
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.046
150
63
PR
www.borgo-italia.it
ciao
semplicemente di una sintassi più breve ed immediata
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:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
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
26
Roma
alessandro1997.netsons.org
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.046
150
63
PR
www.borgo-italia.it
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];
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0

Discussioni simili