IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Compatibilité de code PHP4 & PHP5


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 42
    Par défaut [POO] Compatibilité de code PHP4 & PHP5
    Bonjour tout le monde,
    Je me suis penché dernièrement sur le passage d’un biblio que j’ai fait de PHP4 à PHP5.
    J’ai lu un peu partout que la façon de déclarer les attributs changeait (var $attr devenant private, protected ou public $attr), idem pour la déclaration d’un constructeur…
    Je trouve tout cette POO dans PHP très intéressante (à la base je suis programme java depuis des années) mais je dois hélas maintenir la compatibilité avec PHP4.

    Voici un bête exemple de mon code actuel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <?php
     
    /** require_once */
    require_once(dirname(__FILE__)."/AbstractBody.class.php");
    require_once(dirname(__FILE__)."/../Colonne.class.php");
     
    class GpGet extends AbstractBody {
     
    	var $_property;
     
    	var $_title;
     
    	var $_key;
     
    	var $_hidden = FALSE;
     
    	var $_sortable;
     
        /**
         * Constructeur
       	 * @param string property Attribut property
       	 * @param string title Attribut title
    	 * @access public
         */
        function GpGet($property, $title="") {
        	$this->setProperty($property);	
        	$this->setTitle($title);	
        }
     
        function initColonne() {
     
    		$col = new Colonne();
    		$col->setProperty($this->getProperty());
    		$this->setColonneProperties($col);
    		$col->setListeActionIcon($this->getListeActionIcon());
    		return $col;
        }
     
    ...
    } 
     
    ?>
    Bon j’ai donc testé ma biblio avec la beta EasyPHP 2 intégrant PHP5, sans toucher à mon code.
    Et là … oh surprise, tout fonctionne !!!

    Y a-t-il un risque futur, un effet de bord qui m’aurait échappé si je fais tourner le même code sous PHP4 et PHP 5 ?
    Merci d’avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    PHP 5 assure la compatibilité du code PHP 4 essentiellement dans la limite des extensions utilisées : certaines d'entres elles n'existant plus en PHP 5 (à moins, comme domxml, qu'elle soit "maintenue" sous PECL) et de tout ce qui est lié à la configuration (beaucoup de choses sont par défaut désactivées, donc réglables, sur PHP 5 alors que PHP 4 les acceptait parfois par défaut, suivant sa version - register_globals, les tableaux $HTTP_METHODE_VARS, ...)

    La POO en est le plus bel exemple : les attributs de votre classe déclarés par var sont toujours valables/utilisables et deviennent public en PHP 5 ; un constructeur portant le nom de la classe continue à être cherché (après le constructeur unifié - __construct - si je ne m'abuse).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 42
    Par défaut
    Merci beaucoup pour tes explications julp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] PHP4 ou PHP5
    Par codefalse dans le forum Langage
    Réponses: 4
    Dernier message: 10/05/2007, 02h52
  2. [POO] Compatibilité PHP4 et PHP5
    Par Neuromancien2 dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2007, 07h30
  3. [POO] doc pour comparaison POO entre PHP4 et PHP5
    Par mic79 dans le forum Langage
    Réponses: 4
    Dernier message: 19/01/2007, 15h40
  4. [DOM XML] Compatibilité xml php4 et php5
    Par brasco06 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 14/12/2006, 11h48
  5. [POO] class php4 vers php5, redefinition de $this
    Par jeff_! dans le forum Langage
    Réponses: 1
    Dernier message: 23/03/2006, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo