Le impressionanti novità di PHP 5.3

Martedì 22 Settembre 2009 - 12:52

di Riccardo Degni

PHP e Open Source

Causa pausa estiva, non abbiamo ancora potuto parlare della nuova point release (che non è una semplice point release) di PHP, ovvero la tanto attesa versione 5.3.

Dando uno sguardo direttamente alla pagina ufficiale delle informazioni sul rilascio, è possibile notare la quantità e soprattutto l’importanza delle novità introdotte, tra cui:

E’ impossibile non accorgersi che si tratta di un vero e proprio rivoluzionamento: l’introduzione delle lambda functions e delle chiusure in particolare, permette di elevare il codice a livelli del tutto nuovi, molto più similari in certi sensi a Javascript e ai linguaggi di scripting client-side.

Voi che ne pensate?

Tags:

Categoria: PHP e Open Source | Permalink

Commenti

1

Le novità arrivano tardi purtroppo, servirebbe un cambiamento realmente radicale per quanto mi riguarda.

Sviluppo da diverso tempo in php ma ormai mi rendo conto che la sfida con Ruby l’ha già persa da tempo.

# - postato da luglio7 - 22 Settembre 2009 - 13:41

2

L’operatore ternario abbreviato è :? non il contrario

# - postato da debug - 22 Settembre 2009 - 13:43

3

Mah troppo facile dire che ha perso la sfida con ruby. Ruby é nato dopo e quindi ha imparato dagli errori degli altri, convertire una intera comunitá con cambiamenti radicali é sempre una cosa complessa e rischiosa, meglio meno cambiamenti ma piú spesso.

Poi siamo sinceri, nello scenario italiano quanta gente puó usare php 5.3 nei suoi host?

C’é ancora gente che ha php 4 e non vuole eliminarlo perché tanti lo usano. Questo secondo me é il grosso problema di questo linguaggio qui da noi.

My 2 cent

# - postato da Rex - 22 Settembre 2009 - 14:01

4

nel complesso ci voleva e dimostra che questo linguaggio ha una comunità forte e vitale che sa integrare il meglio di ogni nuovo approccio senza perdere di vista semplicità e performance, non ha affatto perso la guerra con nessun contendente e affermare che è in atto una migrazione totale delle applicazioni web verso il linguaggio x è semplicemente falso.
PHP rimane un ottima scelta per lo sviluppo web, concreta e scalabile anche se non alla moda.

# - postato da devsmt - 22 Settembre 2009 - 14:08

5

Operatore ternario:
condizione ? istruzione1 : istruzione2

Cfr
http://javascript.html.it/guid.....-ternario/

# - postato da Francesco - 22 Settembre 2009 - 14:28

6

il GOTO?
Spero sia uno scherzo

# - postato da Flatlineato - 22 Settembre 2009 - 14:29

7

@Rex

Poi siamo sinceri, nello scenario italiano quanta gente puó usare php 5.3 nei suoi host?

ma vi puntano una pistola alla tempia questi hosters non aggiornati italiani o siete solo masochisti?

Cos’e', l’idea che la farm e’ qui piuttosto che altrove vi fa sentire meglio? Quanti di voi che scelgono versioni PHP deprecate per hosts non aggiornati sono mai passati a trovare il loro host nella farm? E allora cosa vi cambia prendere un host aggiornato in qualunque altro paese europeo?

Oppure il problema e’ scrivere una mail in inglese per l’assistenza del tipo: hello, the server 192.168.0.1 is down?

Credo faccia comodo cullarsi dell’idea che tanto in Italia … ma non si tratta di browser qui, si tratta di server side, e gli host li scegliamo noi, o no?

# - postato da andr3a - 22 Settembre 2009 - 14:33

8

@andr3a

ma vi puntano una pistola alla tempia questi hosters non aggiornati italiani o siete solo masochisti?

Nessuno dei due, semplicemente i clienti che arrivano giá con il loro hoster e non hanno intenzione di cambiare dominio. Tanti che sfruttano Aruba con le sue offerte a costi bassissimi e che non si rendono conto che usano versioni bacate di php e simili. Questo é il problema che io riscontro, ovviamente non sono tutti cosí peró molto lo sono putroppo.

# - postato da rex - 22 Settembre 2009 - 14:37

9

E’ vero, sono novità molto interessanti…

Da notare la libreria mysqlnd e le importanti miglioramenti per la programmazione a oggetti.

Un’altra cosa che trovo utile e importante è l’errore E_DEPRECATED: almeno se qualcuno utilizzerà delle funzioni “deprecated” ci penserà un po’ su e lo farà per seri motivi e non perché “tanto sa usare solo quella”. E poi, quando inizieremo a passare a Php 6 (ci sono già i libri) ci saremo disabituati a utilizzare quelle funzioni… no?! :-)

Per concludere bisogna evidenziare l’introduzione della funzione GoTo che secondo me è inutile e contribuirà a far screditare php. E’ scritto sui libri e lo dicono molti professori: la funzione GoTo non si deve usare!!! Voglio vedere chi riuscirà a leggere le librerie scritte da qualcun altro in cui si trova l’istruzione GoTo … Bo!

“E’ impossibile non accorgersi che si tratta di un vero e proprio rivoluzionamento…”: d’accordissimo! ;-)

# - postato da Giacomo Ratta - 22 Settembre 2009 - 14:45

10

Mah, ricomincerò a programmare in PHP quando faranno sforzi grandi come può esserlo il passaggio da JavaScript ad ActionScript 3. Fino ad allora farò Ruby e C#.

# - postato da Pino - 22 Settembre 2009 - 15:07

11

funzioni lambda e closures? fantastico! me l’ero perse..

peccato che dia non pochi problemi di incompatibilità col software open source in circolazione

per esempio Magento ancora non gira su PHP 5.3, e mi è già capitato di dover sistemare altro codice…

# - postato da Valentino - 22 Settembre 2009 - 15:08

12

@Giacomo Ratta

Per concludere bisogna evidenziare l’introduzione della funzione GoTo che secondo me è inutile e contribuirà a far screditare php. E’ scritto sui libri e lo dicono molti professori: la funzione GoTo non si deve usare!!! Voglio vedere chi riuscirà a leggere le librerie scritte da qualcun altro in cui si trova l’istruzione GoTo … Bo!

Io vorrei tanto interrogare questi professori contrari al goto … in bash script goto si utilizza ancora e senza problemi per di piu’ e’ un semplice jump di flusso tale quale una funzione o una ricorsione … quindi questi professori insegnano funzioni ricorsive e tutti i problemi che si portano dietro ma hanno difficolta’ ad accettare un goto che alla fine sul basso livello e’ l’unica cosa che ci permette di usare oggi qualunque tecnologia? O ma davvero … interessante, come interessante e’ un goto per un linguaggio scripting quale e’ il PHP dove gli “utilizzatori” spesso non hanno nemmeno nozioni base di programmazione, le funzioni sono troncate di continuo da returns in mezzo alle loro esecuzioni, gli exit stanno ovunque, le chiamate header spesso in mezzo a un layout gia’ parzialmente inviato … ma ci lamentiamo di un costrutto che se usato con criterio puo’ significare solo performances senza disturbare quelli convinti di far meglio in ricorsione o troncature di flussi di esecuzione o altro … goto sara’ usato da pochi, e se abusato non va bene tanto quanto un framework scritto male che non usa goto ma “e’ tutto OOP (senza logica)”.
Personalmente preferisco opzioni in un linguaggio, invece che “limiti per sentito dire”, poi ognuno fa come vuole, ma che ci sia scelta, che male c’e'?

# - postato da andr3a - 22 Settembre 2009 - 15:37

13

andr3a contro Dijkstra … come dire … sono punti di vista …

# - postato da Pino - 22 Settembre 2009 - 16:09

14

Il goto è qualcosa di folle…
Ma cosa si sono fumati?

# - postato da Max - 22 Settembre 2009 - 16:14

15

Non c’è una verità sul goto..la maggiore o minore espressività dei linguaggi offre a chi programma più o meno strumenti per raggiungere uno scopo: qualsiasi costrutto può essere usato bene o male, a seconda della bravura di chi scrivere il codice.

Se ci sono ambiti in cui il goto può essere utile per migliorare le performances di alcuni algoritmi, ben venga..è responsabilità del programmatore adottare un atteggiamento sufficientemente pragmatico da scegliere la strada “migliore” per risolvere un problema.

# - postato da Alberto Sarullo - 22 Settembre 2009 - 16:20

16

Il goto l’ho usato tante volte ai tempi del Commodore 64 e sono d’accordo con Andrea, come tutte le cose se se ne abusa è un male, quante volte vi siete costretti a scrivere del codice forzato solo perchè dovevate evitare che un certo blocco di codice non venisse eseguito?

Vi ricordate quando a scuola (per chi ha fatto una scuola informatica, ovvio) con il goto e con i cicli vi facevano calcolare l’elevazione a potenza?

Beh, allora ci trovavate niente di male? No. Solo perchè qualcuno dopo vi ha detto: “IL GOTO E’ IL MALE!” allora avete iniziato a denigrarlo. :)
Insomma siamo seri è un modo come altri di conseguire il risultato. Ribadisco…. basta non abusare degli strumenti messi a disposizione, anche una ricorsione può avere effetti collaterali ben più gravi: “out of memory?”

# - postato da Diego - 22 Settembre 2009 - 16:32

17

come non quotarti Alberto

# - postato da andr3a - 22 Settembre 2009 - 16:34

18

@Pino:
ha ragione Andr3a, la presenza, o la mancanza di Goto, di per se, non favorisce l’uso o l’abuso di una feature, tutti i linguaggi contengono il goto, chi formalmente chi di nascosto (è presente anche in Java, usando la forma break label:).

Il fatto è che goto ha un senso, quando l’ ottimizzazione è un fattore principale del codice,
per questo esistono codici diventati “leggendari” come il Duff’s device: http://en.wikipedia.org/wiki/D.....27s_device

tanto se non c’è il goto, l’ implementarne uno via codice è questione di poco, oppure si troverà sempre un accrocchio per sfruttare una feature del linguaggio (vedi switch - duff’s device).

Il problema è di pensiero, dire “eval is evil” o “goto is evil” a priori lascia il tempo che trova.
Eval può tornar utile, così come goto e, come dice Andr3a, il goto (inteso come istruzione jmp e derivati) è alla base di tutti i codici esistenti, così come l’ if (che altro non è che un goto preceduto da un CMP).
e per quanto riguarda D.J. Xtra “son tutti sofisti con il code degli altri!” soprattutto se devon vender libri…

…a parte gli scherzi, son ovviamente d’ accordo che goto in generale non andrebbe utilizzato, ma rimangono i casi limite in cui “non se ne può far a meno”

# - postato da kentaromiura - 22 Settembre 2009 - 16:36

19

e come non quotare Diego … ragazzi il mio punto e’ che PHP ha tante qualita’ e tanti problemi ma altrettanti “sviluppatori” con pochissime o superficiali nozioni di programmazione grazie alla sua elevata curva di apprendimento …
In soldoni non e’ certo un “goto” a screditare il linguaggio, spesso sono proprio i suoi utilizzatori, goto o non goto

# - postato da andr3a - 22 Settembre 2009 - 16:40

20

@andr3a
Cioè, chi crea il PHP sa che nella propria community esistono sviluppatori con quel tipo di problemi (oltre agli altri, segnalati da varie guide, su come-fare-cosa correttamente in PHP per evitare problemi) e cosa decide di mettere in campo? La tipizzazione forte? Qualcosa per aumentare il livello di “rigore”, così da rendere più diligenti gli sviluppatori? No, regala loro il GoTo.

# - postato da Pino - 22 Settembre 2009 - 17:11

21

Goto o non goto Php non è ancora un linguaggio completamente ad oggetti, questo lo rendere inferiore a Ruby. In soldoni la verità è questa.

Poi ovviamente io php lo uso sia in ambito professionale sia in quello personale e mi trovo ancora benissimo grazie al fantastico framework cakePhp (che poi è l’unico che conosco).

Php ha ancora molti punti di forza (la comunità in primis), ma il linguaggio in se è destinato a cedere il passo.

Ovviamente tante persone hanno il panico ad aggiornarsi e difendono a spada tratta Php. Io grazie a dio sono un mercenario.

# - postato da Luglio7 - 22 Settembre 2009 - 17:42

22

@Pino il type hint o strict type c’e’ dalla versione 5 … sei rimasto un po’ indietro anche tu? Per quel che mi riguarda la maggiore mancanza nella OOP di PHP e’ l’overload di operatori, fattibile solo via PECL operator purtroppo apparentemente abbandonata. Si parla di renderla fattibile via SPL ma ho forti dubbi sulle perforances. Si parla da 2 anni del nuovo bytecode per LLVM il che significhera’ boost di performances elevatissimo e pseudo compilazione per un intermediate language.
Come dice Luglio7 PHP e’ incompleto sul piano OOP, ma non per questo se ci sono features facili da implementare e capaci di portare vantaggi per chi sa come sfruttarle, non vedo perche’ lamentarsi, tutto qua.

P.S. Luglio7, Ruby sotto la voce performances e’ ancora un po’ piu’ lento, se possibile, di PHP

# - postato da andr3a - 22 Settembre 2009 - 18:08

23

Il mio era un discorso inerente al linguaggio in se, l’interprete è solo una delle tante variabili che gli ruotano intorno.

Ad ogni modo le guerre di linguaggi servono a poco. Le cose buone si fanno sia con il buon vecchio Php che con il giovane Ruby. Con Asp.net invece non si fa niente di buono :D :D

# - postato da Luglio7 - 22 Settembre 2009 - 19:23

24

@andrea:
PHP ha la tipizzazione forte? Quando dichiari una variabile devi dichiarare il suo tipo in questo modo?

var tipoVariabile variabile = valore;

E ci sono warning in caso di errore?
Sarebbe già qualcosa…

# - postato da Pino - 22 Settembre 2009 - 19:25

25

@Pino: il Type Hinting può essere effettuato solo nel caso degli array e degli oggetti (istanze o interfacce): http://php.html.it/guide/lezio.....e-hinting/ e SOLO in determinate circostanze.

Lo snippet che hai postato si applica ai linguaggi puramente tipizzati: non è davvero il caso di PHP, almeno non nel breve termine.

# - postato da Riccardo Degni - 22 Settembre 2009 - 19:44

26

@Luglio7:
> Con Asp.net invece non si fa niente di buono :D :D

Ma mi faccia il piacere!
http://www.youtube.com/watch?v.....rOfAW8CwWQ

# - postato da kentaromiura - 22 Settembre 2009 - 19:57

27

@Riccardo
E, appunto, tornerò sul PHP quando questo si potrà fare (non nel breve termine)

# - postato da Pino - 22 Settembre 2009 - 21:38

28

@Pino … lo puoi già fare sui parametri espliciti in ingresso e lo fai anche con int, string, e float, basta definirti le classi, se serve, più hai instanceof per strict checks … ma PHP è scripting, e spero sempre lo sarà, dato che i suoi utilizzatori non sono pronti, per la maggiore, ad un linguaggio fortemente tipizzato.

Quindi stai paragonando pere e cinghiali ma se ti lamenti del fortemente tipizzato che usi a fare PHP?

Avresti anche grosse gatte da pelare in Python, dato che è considerato anche lui fortemente tipizzato e non c’è alcuna var o classe da definire in assegnazione.

Un pò come .NET 4 o semplicemente Linq dove var è sufficiente a tipizzare una variabile … quindi di che parli di preciso?

Il nome classe è ridondante per molti e non significa un granchè di per se … di certo non definisce un linguaggio migliore di un altro.

Comunque sia, come ha detto Luigi7, ogni linguaggio va bene per lo scopo prefisso se sappiamo sceglierlo in base alle qualità.

Se a te PHP non piace 100%, poi per motivi a mio avviso abbastanza futili rispetto tanti altri problemi del linguaggio, non capisco nemmeno perchè sei intervenuto ed il solito flame PHP vs Java o quello che vuoi ha un pò stufato, almeno per quel chemi riguarda.

Buona serata

# - postato da andr3a - 22 Settembre 2009 - 23:05

29

a veloce scanso di equivoci, in Linq var a = qhatever rende a fortemente tipizzata, eppure non c’è classe devinita tra var ed a — volevo dire questo, simile è per Python sotto molti aspetti, e non c’è nemmenoil var davanti. A ri buona serata

# - postato da andr3a - 22 Settembre 2009 - 23:12

30

@andr3a
“PHP è scripting” è una frase che non ha senso. Anche ActionScript 3 è scripting. Forse non ti è chiara la differenza tra le due cose. E’ comunque ovvio che non hai letto tutti gli interventi perché sembri rispondermi un po’ a casaccio. Vorrei anche capire dove tu prenda le statistiche sugli utilizzatori di PHP!

# - postato da Pino - 23 Settembre 2009 - 08:11

31

@Kentaromiura
Mi porti qualche pregio della piattaforma .net in ambito web per favore :)

Io non ne ho trovate e credo che solo un devoto Microsoft possa trovarne.

Questa affermazione però è solo frutto della mia esperienza personale, posso benissimo sbagliarmi.

# - postato da Luglio7 - 23 Settembre 2009 - 09:41

32

@Pino, OK, e’ come dici tu

# - postato da andr3a - 23 Settembre 2009 - 17:58

33

@Luglio7:
Darti una risposta esaustiva e completa in un commento sarebbe impresa ardua, quello che posso dirti è che la frase
“Io non ne ho trovate e credo che solo un devoto Microsoft possa trovarne.”
mi fa presupporre che comunque anche se ti portassi esempi concreti tu saresti comunque restio nei confronti di una tecnologia che, devo supporre da come tu stesso ti sei espresso, non conosci.
Nonostante ciò posso dirti che .net ha diversi punti a favore anche in ambito web.
Devi capire che programmare in .net offre l’ enorme vantaggio di poter imparare ad usare “il framework” nella sua interezza, per darti un esempio reale del vantaggio, io nell’ arco della mia esperienza lavorativa ho dapprima programmato in asp.net, ho dovuto saltuariamente scrivere delle applicazioni per windows, e un ampio progetto su palmare, e in tutti i 3 i casi il know-how precedentemente acquisito mi ha permesso di poter partire direttamente nel progetto, poichè il framework è sempre lo stesso
(con la notabile eccezione che nel compact framework esso è ridotto).

Poi un punto chiave, di estrema forza di questa tecnologia è data dall’ IDE: Visual Studio è tra i migliori IDE con cui un programmatore possa avere a che fare:
Oltre al editor che ha code folding, syntax highlighting, un potentissimo intellisense, blah blah blah, ha integrato Visual Source Safe per la gestione del codice, un debugger con i contro####i, la possibilità di estenderlo con plugin (di cui alcuni interessanti e free), e tante altre cosucce che fanno felice un programmatore “pigro” (ed esiste in versione free).
Riprendendo l’esempio di prima, programmando in asp.net ho imparato a conoscere c# , il framework e VS, così quando ho dovuto creare i miei programmi per windows, ho solo dovuto ampliare leggermente la mia conoscenza del framework, per la parte relativa alle windows forms, idem per la programmazione su windows ce, inoltre essendo c# molto simile a java, esistono una miriade di librerie di terze parti molto ben fatte
In ambito web esiste un framework che si chiama Castle che permette di programmare in MVC in maniera molto simile a Rails, MS ha scritto recentemente anch’ esso un estensione del framework per programmare in MVC.

A livello di sintassi poi C# è molto simile a java anche se introduce delle chicche non da poco, che alcune son proprio differenze nel linguaggio, altre invece son semplicemente delle syntactic sugar, “zuccherini” come ad esempio LINQ…

Insomma .Net è una bella piattaforma per sviluppare, te lo dice uno che inizialmente era scettico ma che poi si è dovuto, giocoforza, ricredere.

# - postato da kentaromiura - 23 Settembre 2009 - 18:11

34

@andr3a:

Non ci crederai, ho trovato delle statistiche e anche dei pareri provenienti dalla community PHP.

Comunque, non voglio avere per forza ragione.

# - postato da Pino - 24 Settembre 2009 - 09:40

35

@kentaromiura
@pino

vi piace .NET? e chi vi dice nulla :-) il cavallo buono si vende a lunga corsa - se siete convinti di usare .NET con profitto fatelo pure

non a caso la % di progetti .NET è molto bassa - CHI SA PERCHE’

# - postato da blackout - 24 Settembre 2009 - 22:14

36

@Blackout:
Dici che la percentuale di progetti .Net è bassa? Parliamone!

Primo, in ambito lavorativo a me non risulta, anzi, ma anche se fosse, la cosa non mi tange, poiché ciò non inficierebbe l’ effettiva utilità di .net.

Secondo, se ti riferisci alla quantità di progetti opensource disponibili, beh, anche qui non trovo riscontri, ma anche se fosse mi spiace contraddirti ma preferisco pochi progetti ma buoni, rispetto all’ infinità di codice la cui qualità lascia parecchio a desiderare, inteso che non mi riferisco a nessun progetto in particolare.

Terzo, stiamo andando un po troppo off-topic, potremo riprendere il discorso in un altro contesto ;)

# - postato da kentaromiura - 24 Settembre 2009 - 23:09

37

@blackout

Forse sono passato per .NETtiano: non lo sono minimamente, non sono venuto a difendere .NET a scapito di altro. Sono solo venuto a dire la mia sul GoTo. Non mi interessano minimamente le diatribe sul fatto che PHP (o .NET) sia o non sia di livello Enterprise, ecc.ecc. Onestamente, ho tante altre cose con cui annoiarmi :-)

# - postato da Pino - 25 Settembre 2009 - 08:29

38

premetto che io sono un accanito sostenitore ed utilizzatore di linguaggi ad alto livello

non ho avuto ancora modo di testare, ma se l’implementazione è realmente a basso livello sarà veramente utile e le prestazioni eccezionali

va totalmente controcorrente dalla logica oop, ma probabilmente non vi rendete conto che php è un mattone e lasciare un po’ di libertà e prestazioni a basso livello può trovare riscontro anche nell’oop

ci sono applicazioni pesantissime che trarrebbero notevoli vantaggi grazie al goto

detto questo, nessuno vi obbliga ad usarlo, io probabilmente non lo userò mai, le closures sarebbero state sufficienti (e ora finalmente le abbiamo), ma mi rendo conto che qualcuno potrebbe averne bisogno, perchè la pesantezza di php è evidente

ciaoz

# - postato da Gunn - 27 Settembre 2009 - 00:16

39

Rex, concordo appieno con te sul problema degli host. Anch’io ho per la maggior parte clienti con i loro domini, oppure clienti che non hanno intenzione di spendere X solo per avere l’hoster da me consigliato (perchè installa l’ultima versione di php).

Quindi per me quando vedo queste modifiche dico “figo”, e chiudo la pagina :)

# - postato da ecmedia - 28 Settembre 2009 - 10:04

40

si ma le closure devono essere esplicitate.
Mentre in quasi tutti i linguaggi funzionali sono implicite.
speriamo nella versione 6…..

# - postato da sasuke - 29 Settembre 2009 - 08:01

41

poi le lambda function aggiunte a un oggetto non possono essere chiamate direttamente ma devono essere referenziate a un’altra variabile

http://it2.php.net/manual/en/f......php#91610

# - postato da sasuke - 29 Settembre 2009 - 18:06

42

PHP è rimasto buono solo per progetti veloci e o di alto livello, mi rammarica dirlo ma negli anni si è evoluto nella direzione sbagliata, complicandosi la vita e non arrivando mai alla tanto agognata versione 6.
Inoltre non ha mai aperto una breccia nel cuore degli ISP o dei clienti, e questo non ha giovato a noi sviluppatori come al linguaggio stesso.
Non parliamo poi della quantità di codice PHP scadente che si trova in giro, a volte ci si mette più tempo a cercare qualcosa che non sia bacato e che funzioni piuttosto che a farselo da se.
Spesso uso il Perl, almeno sono sicuro che con CPAN scarico codice funzionante e non bacato, oltre che documentato.
Pear d’altro canto non si è mai imposto come progetto, un po’ per la filosofia stessa del PHP, un po’ perché i programmatori PHP non hanno studiato nei monasteri Perl…
Un vero peccato.

# - postato da TrollTech - 08 Ottobre 2009 - 11:00

43

[…] Le impressionanti novità di PHP 5.3 (42)PHP: framework o standalone? (35)È possibile pubblicizzare un sito senza spendere un centesimo? (27)Maledetti SEO! (25)Far digerire al cliente il supporto parziale a IE6 (24)Ok il prezzo è giusto, ma fammi vedere cosa sai fare (24)Saper leggere e saper scrivere (20)IE in salsa Chrome (17)Dacci oggi il nostro GoogleLogotipo quotidiano… o no? (16)Lo spazio bianco più desiderato del web (15) […]

# - postato da PHP vs. Resto del Mondo | Edit - Il blog di HTML.it - 20 Ottobre 2009 - 14:18

44

..Aruba con le sue offerte a costi bassissimi….

ah perchè aruba fa prezzi bassi..!?!? a me non sembra proprio!!! :D

# - postato da Antonio - 20 Ottobre 2009 - 22:51

45

Vorrei chiedere una cosa a Valentino che parlava di magento… ma come hai fatto a risolvere i problemi?

# - postato da mm - 26 Agosto 2010 - 13:44

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento