Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: classi per PHP4 e PHP5

  1. #1

    classi per PHP4 e PHP5

    Ciao a tutti... sto leggendo un po di manualetti per capire cosa cambia sostanzialmente da PHP4 a PHP5. Su alcune cose ho capito, ma su una fondamentale no. Se io ho una classe in PHP4
    Codice PHP:
    class objClasse{
    var 
    variab_1;
    var 
    variab_2;

    function 
    objClass(){ costruttore }
    function 
    funzione2(par){ fai qualcosa }
    function 
    funzione2(par){ fai qualcosa }

    Come faccio a renderla compatibile sia per il 4 che per il 5?

  2. #2

    Re: classi per PHP4 e PHP5

    Originariamente inviato da rinosan_76
    Ciao a tutti... sto leggendo un po di manualetti per capire cosa cambia sostanzialmente da PHP4 a PHP5. Su alcune cose ho capito, ma su una fondamentale no. Se io ho una classe in PHP4
    Codice PHP:
    class objClasse{
    var 
    variab_1;
    var 
    variab_2;

    function 
    objClass(){ costruttore }
    function 
    funzione2(par){ fai qualcosa }
    function 
    funzione2(par){ fai qualcosa }

    Come faccio a renderla compatibile sia per il 4 che per il 5?
    Quella è già compatibile con PHP 4 e 5.
    La differenza è che se vuoi fare le cose come andrebbero fatte devi renderla compatibile solo con PHP 5 sfruttando a pieno le sue potenzialità.

    Se così fosse devi sostituire var con un descrittore di scope tra public, private e protected.
    Stessa cosa per function.

    In aggiunta il costruttore in PHP5 non è un metodo con il nome della classe ma il metodo speciale __construct().

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: classi per PHP4 e PHP5

    Originariamente inviato da rinosan_76
    Ciao a tutti... sto leggendo un po di manualetti per capire cosa cambia sostanzialmente da PHP4 a PHP5. Su alcune cose ho capito, ma su una fondamentale no. Se io ho una classe in PHP4
    Codice PHP:
    class objClasse{
    var 
    variab_1;
    var 
    variab_2;

    function 
    objClass(){ costruttore }
    function 
    funzione2(par){ fai qualcosa }
    function 
    funzione2(par){ fai qualcosa }

    Come faccio a renderla compatibile sia per il 4 che per il 5?
    Questa funziona già su php4 e 5, la differenza sta nel fatto che le features degli oggetti avanzate ci sono solo in php5 (tipo la dichiarazione di una variabile privata piuttosto che pubblica, e i metodi particolari tipo i costruttori ecc)

    ciao

  4. #4
    capisco cosa vuoi dire, ma io per lavoro ho molti siti sul 4 ed i nuovi saranno sul 5 e se devo riscrivere classi per le 2 versioni differenti non mie ne faccio nulla della progrannazione OO se poi non riuso nulla!
    Mi puoi fare un esempio un po' più complesso di classe (io ne ho trovate di moooolto complessi) compatibile ed al limite mi spieghi come si richiama nei 2 PHP (o si instanzia allo stesso modo?)

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da rinosan_76
    capisco cosa vuoi dire, ma io per lavoro ho molti siti sul 4 ed i nuovi saranno sul 5 e se devo riscrivere classi per le 2 versioni differenti non mie ne faccio nulla della progrannazione OO se poi non riuso nulla!
    Mi puoi fare un esempio un po' più complesso di classe (io ne ho trovate di moooolto complessi) compatibile ed al limite mi spieghi come si richiama nei 2 PHP (o si instanzia allo stesso modo?)
    Mi rendo conto del problema... io stesso non mi sono ancora guardato la programmazione a oggetti a fondo, anche se sto sviluppando su un server con php5 mi ritrovo a usare solo le features compatibili con il 4 per il momento.

    L'unico modo per essere sicuri è trovarsi un changelog che ti dica quali sono le nuove features aggiunte nel php5, cosi sai cosa non puoi usare per essere compatibile con il 4.

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    118
    per me e' meglio se metti php5 sui siti che hanno php4, php4 e' in "end-of-life" e come hai letto sopra non supporta bene OOP

  7. #7
    Originariamente inviato da rinosan_76
    capisco cosa vuoi dire, ma io per lavoro ho molti siti sul 4 ed i nuovi saranno sul 5 e se devo riscrivere classi per le 2 versioni differenti non mie ne faccio nulla della progrannazione OO se poi non riuso nulla!
    Mi puoi fare un esempio un po' più complesso di classe (io ne ho trovate di moooolto complessi) compatibile ed al limite mi spieghi come si richiama nei 2 PHP (o si instanzia allo stesso modo?)
    http://forum.html.it/forum/showthrea...readid=1169661

  8. #8
    Le sto leggendo una ad una, ma allora quello che non capisco io è come mai un mio codice scritto per PHP4 (io ho fatto delle classi) non va sul 5 se è retrocompatibile.
    Comunque approfondirò i mie studi.
    Grazie

  9. #9
    Originariamente inviato da rinosan_76
    Le sto leggendo una ad una, ma allora quello che non capisco io è come mai un mio codice scritto per PHP4 (io ho fatto delle classi) non va sul 5 se è retrocompatibile.
    Comunque approfondirò i mie studi.
    Grazie
    non va è un po' generica come affermazione.

  10. #10
    l'errore che mi da su PHP5 che sul PHP4 non da è
    Codice PHP:
    Fatal errorCannot redeclare file_put_contents() in /media/sda3/lavori/lavoro_mangioebevo/intranet_v4.0/AKKAnet_4.0/config/AKKAlib/PHP/objStat.php on line 1053 
    che errore è? a cosa si riferisce?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.