PHP 5 all'assalto del Web dinamico

Dopo mesi di lungo ed intenso lavoro il team di sviluppo di PHP ha rilasciato la nuova e attesa versione 5 del proprio linguaggio di scripting, uno dei più utilizzati sulla Rete. Ecco le novità più in vista

Roma - A più di un anno di distanza dall'uscita della prima versione beta, è finalmente disponibile la release 5.0 finale del famoso linguaggio di scripting PHP, uno dei più gettonati per la creazione di pagine Web dinamiche.

Rispetto alla versione precedente, le novità introdotte da PHP 5 sono davvero molte, a partire dal nuovo motore Zend Engine II con un modello ad oggetti completamente riscritto: da sola, questa innovazione fa compiere al linguaggio un notevole passo avanti, soprattutto per quel che concerne lo sviluppo di applicazioni Web-based particolarmente complesse.

Finalmente i programmatori Web avranno a disposizione, come in tutti i linguaggi ad oggetti, le tre "p" - metodi pubblici, privati e protetti - insieme ad interfacce che facilitano la costruzione di framework complessi e facilmente gestibili.
Un'altra novità di rilievo è data dall'implementazione interna di SQLite, la libreria che permette di scrivere e gestire un database all'interno di un unico file, esattamente come fa Microsoft Access: in questo modo i fornitori di hosting potranno differenziare ulteriormente le proprie offerte dando anche ai piccoli siti la possibilità di creare pagine Web dinamiche, senza dover per forza utilizzare costosi (anche in termini di prestazioni) DBMS.

Terza e non ultima grande novità è data dalla riscrittura del codice per il supporto a XML, un formato ormai alla base di moltissime applicazioni Web-based. Grazie alla nuova sezione XML sarà ad esempio possibile mettere il contenuto di un file XML all'interno di un array associativo ed annidato con una sola istruzione: prima, per fare la stessa cosa, era necessario utilizzare non meno di 30 righe di codice.

Tra le altre novità, non meno importanti di quelle appena citate, troviamo la riscrittura dell'interfaccia verso lo stream (creare un demone che restituisce l'orario attuale richiede ora soltanto 10 righe di codice), una migliore integrazione con SOAP (un protocollo per l'interoperabilità con i Web service), la possibilità di interfacciarsi a MySQL v4.1 sfruttandone tutte le potenzialità e le Reflection API (da un metodo di una classe è possibile risalire ai metodi ed alle variabili di tutta classe, contenuto attuale compreso).

La migrazione da PHP 4 a PHP 5 non sarà immediata e richiederà, soprattutto da parte dei fornitori di hosting, alcuni mesi: la nuova versione del linguaggio è infatti parzialmente incompatibile con la precedente e costringerà gli sviluppatori a metter mano al loro vecchio codice. Inoltre c'è da considerare l'impossibilità di far convivere PHP 5 e PHP 4 sulla stessa macchina a meno di non utilizzarli come CGI.

Il codice sorgente e le versioni binarie per Windows di PHP 5 possono essere scaricate da questa pagina.

Michel Morelli
166 Commenti alla Notizia PHP 5 all'assalto del Web dinamico
Ordina
  • Ho visto che gli ultimi 5 o 6 thread dicono tutti la stessa cosa, php lo usavo ma adesso ho visto che è meglio asp magari asp.net. Dico pure io la mia e mi firmo pure così da non fare comunella con chi scrive più post sembrando persone diverse mentre è la stessa persona.

    Pur non essendo un programmatore sto modificando il codice php fatto da un amico coders in modo da poter inserire dei commenti nel mio sito.

    Siccome il sito è sotto apache (come quasi tutti i siti) è preinstallato e funzionante php, credo la versione 4. Quindi è ovvio che un principiante come me si affidi agli strumenti che in rete vanno per la maggiore e si faccia le pagine dinamiche in php.

    Chi parla di asp forse non ha presente che è una minoranza di siti che lo supportano, chi parla di asp.net parla di grossi progetti che non fanno numeri rilevanti.
  • secondo le ultime indagini,è stato reso noto da netcraft
    che ASP.NET viene usato maggiormente come tool
    di sviluppo per le web applications.
    è interessante comunque notare che ASP.NET abbia eroso
    il mercato JAVA+J2EE mentre quello php sembra non averne
    risentito.
    il php a mio avviso continuerà ad andare avanti ma... e qui lo dico senza ritegnoSorride,è molto probabile che nel corso di questo
    anno e del prossimo molte cose possano cambiare.
    se volete vi leggo quello che ho visto sulla mia sfera magica

    [MAGIC BALL SPHERE ON]
    1) i provider linux inizieranno ad installare mod_mono
    2) ASP.NET sara disponibile sia su win che su linux server
    3) mysql perderà fette di mercato web
    4) sqllite si insedierà come normale database web
    5) suse 11 avrà mono installato di default
    6) redhat perderà quota di mercato
    7) molte parti di gnome verranno affiancate con pezzi
    di moduli managed (c# )
    8) linux desktop inizia a prendere piede anche sul settore
        consumer
    10) linux diventa una commodity
    non+autenticato
  • ASP.NET è gia una realta su tantissimi server linuz
    chi dice che php5 è favoloso il 99% è un bambino
    che non ha mai toccato roba forte.
    non+autenticato
  • Non capisco perchè si insiste a vendere la programmazione ad oggetti come la panacea a tutti i mali quando in realtà nessuno ha dimostrato scientificamente che sia meglio della programmazione procedurale che fino a prova contraria rimane quella più naturale, evidentemente la moda non è ancora passata.

    Non capisco anche perchè implementare queste maledette interfacce che complicano di molto e inutimente il lavoro e che alzano lo skill minimo di un programmatore qualunque ( e questo si traduce in meno guadagno per l'azienda quindi meno investimenti in quel tool ).

    non+autenticato

  • - Scritto da: Anonimo
    > Non capisco perchè si insiste a
    > vendere la programmazione ad oggetti come la
    > panacea a tutti i mali quando in
    > realtà nessuno ha dimostrato
    > scientificamente che sia meglio della
    > programmazione procedurale che fino a prova
    > contraria rimane quella più naturale,

    fino a che continui a fare pagine web che non fanno altro che sommare due numeri, infatti, non ti serve......

    > evidentemente la moda non è ancora
    > passata.
    >
    > Non capisco anche perchè implementare
    > queste maledette interfacce che complicano
    > di molto e inutimente il lavoro e che alzano
    > lo skill minimo di un programmatore
    > qualunque ( e questo si traduce in meno
    > guadagno per l'azienda quindi meno
    > investimenti in quel tool ).
    >
    non+autenticato

  • - Scritto da: Anonimo
    > Non capisco perchè si insiste a
    > vendere la programmazione ad oggetti come la
    > panacea a tutti i mali quando in
    > realtà nessuno ha dimostrato
    > scientificamente che sia meglio della
    > programmazione procedurale che fino a prova
    > contraria rimane quella più naturale,
    > evidentemente la moda non è ancora
    > passata.
    >
    > Non capisco anche perchè implementare
    > queste maledette interfacce che complicano
    > di molto e inutimente il lavoro e che alzano
    > lo skill minimo di un programmatore
    > qualunque ( e questo si traduce in meno
    > guadagno per l'azienda quindi meno
    > investimenti in quel tool ).
    >

    non ti piacciono non le usi, non è un obbligo
    non+autenticato

  • - Scritto da: Anonimo
    > Non capisco perchè si insiste a
    > vendere la programmazione ad oggetti come la
    > panacea a tutti i mali quando in
    > realtà nessuno ha dimostrato
    > scientificamente che sia meglio della
    > programmazione procedurale che fino a prova
    > contraria rimane quella più naturale,
    > evidentemente la moda non è ancora
    > passata.

    Hai detto bene: dev'essere proprio una specie di moda, anche perche` come tutte le mode e` solo una questione esteriore. Formale, non sostanziale. Mah, prima o poi passera`...

    > Non capisco anche perchè implementare
    > queste maledette interfacce che complicano
    > di molto e inutimente il lavoro e che alzano
    > lo skill minimo di un programmatore
    > qualunque ( e questo si traduce in meno
    > guadagno per l'azienda quindi meno
    > investimenti in quel tool ).

    Infatti: pensando logicamente si arriverebbe a questa conclusione, ma evidentemente il bello della logica e` che puo` essere sempre confutata, arrivando a risultati sempre piu` strani...Sorride
    non+autenticato
  • > Non capisco perchè si insiste a
    > vendere la programmazione ad oggetti come la
    > panacea a tutti i mali quando in
    > realtà nessuno ha dimostrato
    > scientificamente che sia meglio della
    > programmazione procedurale che fino a prova
    > contraria rimane quella più naturale,
    > evidentemente la moda non è ancora
    > passata.

    Cosi dicevano i programmatori abituati ai "goto" quando hanno introdotto il concetto di funzione.
    Programmare ad oggetti rende il codice piu' semplice da progettare e mantenere, inoltre e' piu' facile far lavorare molti programmatri, con diversi stili di programmazione, tra loro.

    Alla base degli oggetti ci sono comunque le funzioni o procedure, ma gli oggetti rendono molto piu' facile l'utilizzo delle stesse.

    > Non capisco anche perchè implementare
    > queste maledette interfacce che complicano
    > di molto e inutimente il lavoro e che alzano
    > lo skill minimo di un programmatore
    > qualunque ( e questo si traduce in meno
    > guadagno per l'azienda quindi meno
    > investimenti in quel tool ).

    Qui in azienda abbiamo delle persone assunte proprio per produrre queste interfacce, cercando di rendere l'esperienza dell'utente, nell'uso del programma, il piu' confortevole possibile, questi non sono programmatori.

    Il programmatore crea gli oggetti, o meglio le classi, che realizzano le oprerazioni che ci si aspetta che il programma faccia e soprattutto i controlli sulla correttezza dei dati inseriti.

    "Unire" queste ultime alle interfacce puo' essere semplice o complicatissimo dipende dai casi.

    Il bello e' che in molti casi " l'intefaccia " creata in ambiente win ha le stesse caratteristiche e funzionalita' di quelle che si creavano in clipper in DOS, ma si mangiano una marea di risorse in piu' e sono piu' complicate da implementare e mantenere.
    non+autenticato
  • - Scritto da: Anonimo

    > Cosi dicevano i programmatori abituati ai
    > "goto" quando hanno introdotto il concetto
    > di funzione.

    Gia`, allora che ci sta a fare un'istruzione come "break"?
    Ed "exit ()"? Dovrebbero essere orrori in programmazione strutturata. La stessa programmazione strutturata che se spinta come manuale comanda poi ti porta, in casi seri, a ringraziare per essere arrivato alla colonna 560 e non capire piu` una cippa di quale marea di condizioni t'ha portato li... si sa...

    if ((1 & 2) | 3) {
    x ();
    if (3 & 4 & 5) {
         while (6 | 7) {
            y ();
            for (9) {
               z ();
               if ((10 & 11 & 12) | 13) {
                 w ();
                 do {
                     // ...ho perso il filo...
                 } while (14);
               }
            }
         }
    }
    }

    > Programmare ad oggetti rende il codice piu'
    > semplice da progettare e mantenere, inoltre
    > e' piu' facile far lavorare molti
    > programmatri, con diversi stili di
    > programmazione, tra loro.

    Mah, sara` cosi`...
    Dev'essere cosi`...
    Evidentemente semplifica...
    E la mia mentalita` fossilizzata non e` in grado di percepire la semplificazione.
    Puo` darsi, oh, mica tutto il mondo puo` sbagliarsi...
    Lascio il beneficio del dubbio, forse un giorno smettero` di criticarla, una volta assuefattomici.
    Ma per ora a me, un programma simil-C++ ricorda ancora il discorso di un politico.

    > Alla base degli oggetti ci sono comunque le
    > funzioni o procedure, ma gli oggetti rendono
    > molto piu' facile l'utilizzo delle stesse.

    Che c'e` di difficile?
    No dico, bella roba le funzioni virtuali: interessante, servono ad aggirare un limite della programmazione "strongly typed", ritornando una stessa entita` che dev'essere considerata un dato di un altro tipo, cosa che d'altronde era perfettamente possibile prima della tipificazione, ovvero parafrasando Douglas Adams sull'ident-i-fic, "la piu` grande vittoria dell'informatica su se stessa e sul buon senso".

    > Qui in azienda abbiamo delle persone assunte
    > proprio per produrre queste interfacce,
    > cercando di rendere l'esperienza
    > dell'utente, nell'uso del programma, il piu'
    > confortevole possibile, questi non sono
    > programmatori.

    Credo che intendesse, per "interfacce", le interfacce fra il linguaggio di programmazione e il programmatore, e non le UI. Potrei sbagliarmi...
    non+autenticato
  • > Gia`, allora che ci sta a fare un'istruzione
    > come "break"?
    > Ed "exit ()"? Dovrebbero essere orrori in
    > programmazione strutturata.

    Infatti in delphi non gli trovi.
    Comunque il fatto che ci siano non ti obbliga ad usarli, si puo' incasinare il codice anche utilizzando le classi.
    La stessa possibilta' di avere piu' istruzioni "return" all'interno di una funzione o procedura puo' portare a seri malintesi.

    > La stessa
    > programmazione strutturata che se spinta
    > come manuale comanda poi ti porta, in casi
    > seri, a ringraziare per essere arrivato alla
    > colonna 560 e non capire piu` una cippa di

    Colonna 560? programmi in RPG ??
    io sono rimasto alle righe.

    >> Programmare ad oggetti rende il codice
    > piu'
    > > semplice da progettare e mantenere,
    > inoltre
    > > e' piu' facile far lavorare molti
    > > programmatri, con diversi stili di
    > > programmazione, tra loro.
    >
    > Mah, sara` cosi`...
    > Ma per ora a me, un programma simil-C++
    > ricorda ancora il discorso di un politico.

    Secondo me non e' obbligatorio per forza pensare alla soluzione di un problema attravero le classi.
    Ma se il problema e' complesso mi riesce piu' facile risolverlo implementandone i varii dettagli attraverso classi, piuttosto che attraverso funzioni.
    Anche dividere le varie parti di codice da far sviluppare fuori mi riesce piu' semplice.

    Per alcuni programmi non serve utilzzare per forza le classi.

    Insomma...
    per certi lavori e' meglio utilizzare il piccone ma si puo' benissimo procedere con le mani.

    > Che c'e` di difficile?
    > No dico, bella roba le funzioni virtuali:
    > interessante, servono ad aggirare un limite
    > della programmazione "strongly typed",

    Si il C++ confonde un po le idee ma iniziando con il python o java si puo' riaffrontare il C++ con maggiore scioltezza.

    > Credo che intendesse, per "interfacce", le
    > interfacce fra il linguaggio di
    > programmazione e il programmatore, e non le
    > UI. Potrei sbagliarmi...

    I tool di sviluppo rad? spesso sono molto utili anzi quasi indispensabili, come le librerie di classi ben fatte.
    non+autenticato

  • - Scritto da: Alex¸tg
    > Ma per ora a me, un programma simil-C++

    C++ è stato progettato per software
    COMPLESSI
    MOLTO COMPLESSI
    ANZI TROPPO COMPLESSI

    http://www.research.att.com/~bs/applications.html

    # Adobe Systems: All major applications are developed in C++:

        * Photoshop & ImageReady,
        * Illustrator,
        * Acrobat,
        * InDesign,
        * GoLive,
        * Frame (mostly C, some C++)

    Alias|Wavefront: Maya. Maya has been used in the production of just about every major film involving computer-generated effects since its release, including Star Wars Episode I, Spider-Man, Lord of the Rings, Stuart Little, etc. "I love 3d animation".

    Geant4: Toolkit for the simulation of particles interaction with matter for use in High Energy and Nuclear Physics
    experiments, Space, and Medical applications. The Geant4 project is a world-wide collaboration of about 100 scientists participating in more than 10 physics experiments in Europe, Russia, Japan, Canada and USA. It involves the participation of several national and international institutes and organizations. The software is entirely written in C++ and has been developed exploiting Object-Oriented methodologies and tools. It consists of roughly 500K lines of code and includes the implementation of a rather wide set of state-of-the-art algorithms and theoretical models for electro-magnetic and hadronic physics interactions

    Havoc: Real-time physics for animation and games. "Havok, like Guinness, is made in Ireland.

    Half life 2, Doom3 e........
    non+autenticato
  • Secondo me paragonare funzioni e procedure ad oggetti e' come paragonare le mani ad un badile.
    Con le mani si puo' fare tutto anche scavare, ma con un badile si fa prima.Deluso
    Non e' una moda e' un'evoluzione, ma come il badile e' mglio delle mani per scavare, per altri usi e' meglio usare le sole mani.
    non+autenticato
  • Mai sentito parlare di riusabilità del codice???
    non+autenticato
  • Non lo capisci perchè probabilmente non hai frequentato un corso di Ingegneria del Software e non hai mai sentito parlare della crisi del software.. La OOP e il concetto di interfaccia sono una rivoluzione, ma chiaramente devono essere capiti e usati proficuamente.
    non+autenticato
  • Cioe è da panico sta cosaSorride
    nel 2004 ancora a zurlare con un linguaggio di scripting
    buggoso.....

    cioe non è per cattiveria,ma ogni volta che ho messo
    mano su codice php altrui mi è venuta l'orticaria.
    non+autenticato

  • - Scritto da: Anonimo
    > Cioe è da panico sta cosaSorride
    > nel 2004 ancora a zurlare con un linguaggio
    > di scripting
    > buggoso.....
    >


    immagino che tu abbia già provato il php 5 per sbandere pareri così illuminanti

    > cioe non è per cattiveria,ma ogni
    > volta che ho messo
    > mano su codice php altrui mi è venuta
    > l'orticaria.

    visto che poi tu, re mida del web, lo rimetti a posto magari puoi scriverlo direttamente da te no?
    non+autenticato

  • - Scritto da: Anonimo
    > Cioe è da panico sta cosaSorride
    > nel 2004 ancora a zurlare con un linguaggio
    > di scripting
    > buggoso.....
    >
    > cioe non è per cattiveria,ma ogni
    > volta che ho messo
    > mano su codice php altrui mi è venuta
    > l'orticaria.

    Hai mai dato un'occhiata agli scripts di phpBB? (www.phpbb.com)
    E` l'equivalente di un manuale di stile letterario.

    Poi in qualsiasi linguaggio ci possono essere spaghetti, e` ovvio che non dipende dal linguaggio. A me dello stile puo` importare, ma fino a un certo punto... ci vuol poco a rimetterlo a posto, casomai.
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
1 | 2 | 3 | 4 | 5 | 6 | Successiva
(pagina 1/6 - 26 discussioni)