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] Objet avec beaucoup d'attributs [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut [POO] Objet avec beaucoup d'attributs
    J'ai une classe avec beaucoup de variables.
    (on va dire une vingtaine)
    Mais elle ne sont pas toute définies à la création de l'objet ! (il n'y en a qu'une seule définie)
    C'est plus tard dans la "vie" de mon objet que je remplis ces variables.

    Est ce que c'est "couteux" (en mémoire ou autre) d'avoir ces variables non définies ?
    Si oui, est ce que ça serait moins couteux de stocker ces variables dans un tableau associatif, que je créerai lorsque j'aurai besoin de définir ces variables ?

    Merci !

    PS : je maitrise la notion d'objet dans le langage Java
    Je débute dans l'utilisation des objets en Java.

  2. #2
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Ca aura globalement le même coût en terme de mémoire car les variables membres des objets sont stokées dans une hash table en interne (la structure de données à tout faire dans le Zend Engine). Une hash table par instance d'objet. Les arrays sont également des hash tables. Tu auras donc la même structure quelque soit la méthode.

    php autorise l'ajout de variables membres à la volé, en effet elles ne doivent pas être obligatoirement déclarées dans la définition de la classe. On retrouve donc le même comportement que si tu créais un array plus tard au runtime (lors de l'exécution du code).

    En terme de perf, la différence va être infime. Ca sera plus rapide de déclarer les membres dans la def de la classe car l'engine peut pré remplir la hash table d'une traite. Mais encore une fois, c'est infime comparé à tout se qui se passe par ailleurs dans la vie d'un script (accès aux fichiers, base de données etc)

    PS : je maitrise la notion d'objet dans le langage Java
    Je débute dans l'utilisation des objets en Java.
    Je pense qu'il manque "php" dans une des deux phrases

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup !
    Je voulais dire que je débute dans l'objet php

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

Discussions similaires

  1. Performance et objet avec beaucoup de datas en paramètre.
    Par Pierre8r dans le forum Général Java
    Réponses: 3
    Dernier message: 27/11/2009, 18h58
  2. [POO] Instancier un objet avec le nom de la classe
    Par shinchun dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2006, 13h44
  3. [POO] Conflit avec objet ayant le meme name
    Par ozzmax dans le forum Langage
    Réponses: 7
    Dernier message: 11/01/2006, 17h06
  4. [POO] Déplacer un objet avec un pas.
    Par Olaf MENJI dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/12/2005, 13h32
  5. [POO] Objet en attribut d'un objet
    Par Tchinkatchuk dans le forum Langage
    Réponses: 7
    Dernier message: 06/12/2005, 10h00

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