begin process at 2012 05 31 04:08:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Class et Objet ( POO )

 > 

petites questions sur la programmation orianté objet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

petites questions sur la programmation orianté objet

mardi 31 janvier 2006 à 14:23:36 | petites questions sur la programmation orianté objet

cacoucatatonique

dans ce type de programmation, on definit des objets dans lesquels ont retrouves differentes variables, mais je voudrais savoir en faite comment sont memorisées les variables et surtout si elles sont accessibles d'une page à l'autre!!!!
car je ne comprend pas bien cette phylosophie de programmation!!!


 cacoucatatonique
mardi 31 janvier 2006 à 14:51:06 | Re : petites questions sur la programmation orianté objet

Anthomicro

Salut,

non les variables ne sont pas accesibles d'une page à l'autre (sauf quand tu utilises des sessions).

Disons que pour la philosophie, je pense que FhX pourra te l'expliquer ;-)

a +


    mardi 31 janvier 2006 à 16:09:11 | Re : petites questions sur la programmation orianté objet

    malalam

    Administrateur CodeS-SourceS

    Hello,

    ouais, les objets réagissent comme de simples variables : leur portée est limité à la page dans laquelle ils ont été déclarés (instanciés).
    Quand aux variables appartenant à un objet (ses propriétés membres en fait), elles sont "mémorisés" en les déclarant aussi.

    Petit ex rapide :
    <?php
    class maClasse {
       public $var1; // ici on déclare une variable publique, donc accessibe de l'extérieur de la classe. Elle n'a pas de valeur par défaut
      public $var2 = 1; // celle-ci a une valeur par défaut.
     
      private $varPrivee = 2; // cette variable n'est pas accessible en dehors de la classe

    public function __construct () { // constructeur de la classe
      echo 'je suis construit';
    }
    public function setPrivate ($val) { // méthode publique, donc accessible en dehors de la classe, pour donner une valeur à la variable privée
       $this -> varPrivee = $var;
    }
    public function getPrivate () { // méthode publique pour ren,voyer la valeur de la propriété privée
      return $this -> varPrivee;
    }
    }


    $oClass = new maClasse (); // va afficher : 'je suis construit';
    echo $oClass -> var2; // fonctionne, et affiche 1
    $oClass -> var1 = 'bla'; // ok, on peut puisque la variable est publique
    echo $oClass -> var1; // va afficher 'bla'
    $oClass -> varPrivee = 'test'; // va échouer, la variable est privée
    $oClass -> setPrivate ('test'); // ok!
    echo $oClass -> varPrivee; // non, la variable est privée ;-)
    echo $oClass -> getPrivate (); // ok, et va afficher 'test'.
    ?>

    Quant à la philosophie...je te conseille beaucoup de lecture de tutos, de docs, et de codes sources orientés objets (c'est pas ce qui manque ici).
    Mais bon, c'est modulaire, facile à mettre à jour, puissant, économe en lignes de code le plus souvent.

    mardi 31 janvier 2006 à 16:32:59 | Re : petites questions sur la programmation orianté objet

    cacoucatatonique

    alors admetons que je créer des objets, est ce que ces objets je peut les memoriser dans une base de données?

     cacoucatatonique
    mardi 31 janvier 2006 à 16:37:33 | Re : petites questions sur la programmation orianté objet

    Anthomicro

    Regarde du côté de serialize() et unserialize()

    http://fr.php.net/manual/fr/function.serialize.php
    http://fr.php.net/manual/fr/function.unserialize.php


      mardi 31 janvier 2006 à 19:02:54 | Re : petites questions sur la programmation orianté objet

      FhX

      Oui, mais ca ne sert pas à grand chose de les mémoriser.

      Si tu veux mémoriser une classe, c'est que ta classe doit peser son poids en or. Autrement, il est plus rapide d'injecter les variables lors d'une instanciation plutot que de récupérer un objet serialisé depuis une base de donnée.

      De plus, imagine que tu serialises chaque objet pour chaque membre... Tu va te retrouver avec une base de donnée immense sans même t'en rendre compte. La serialisation n'a du bon que si tu as plein plein d'objets à serialiser. La c'est plus interessant.


      Maintenant, la philosophie de l'objet c'est quoi ? Simplement avoir quelque chose qui soit maintenable plus facilement. Il est plus facile d'étendre les possibilités d'une classe plutot que d'une fonction.
      Le must de la prog objet est l'intéraction des objets entre eux. En effet, à un certain niveau, la programmation objet est plus rapide que la programmation via fonctions (sisi, ca a été prouvé je sais plus où !).

      Enfin moi personnelement, je préfère faire :
      $db = new db;
      $db->query($sql);
      $num = $db->num_rows();

      plutôt que de devoir faire :
      $link = mysql_connect($host, $user, $passwd);
      mysql_select_db($base, $link);
      $query = mysql_query($sql);
      $num = mysql_numrows($query);


      De plus, il faut savoir que je peux faire plein de choses dans ma classe, genre détection d'erreur, gestion d'erreur... je peux aussi faire un fetch en auto pourquoi pas. Alors oui, je peux le faire en créant des fonctions, mais imagine qu'un jour je veux retravailler le code de connection à la DB en profondeur ! Bah moi, j'ai juste à faire un "extend" de ma classe alors qu'avec les fonctions j'aurais tout à ré-écrire.

      Voila l'interêt de la POO.
      Si tu veux des exemples, regarde dans les tutos pour une gestion d'utilisateurs vite-fait, autrement dans les codes, j'en ai filé quelques un :)
      mardi 31 janvier 2006 à 20:27:15 | Re : petites questions sur la programmation orianté objet

      FhX

      "public function setPrivate ($val) { // méthode publique, donc accessible en dehors de la classe, pour donner une valeur à la variable privée
         $this -> varPrivee = $var;
      }
      public function getPrivate () { // méthode publique pour ren,voyer la valeur de la propriété privée
        return $this -> varPrivee;
      }"
      J'en profite pour dire que ca, ca ne sert à rien :p
      Soit tu mets en public, soit tu utilises __get() et __set().
      Meme si je sais que tu le sais déja, je préfère le dire pour ceux qui ne le savent pas.

      Parce qu'un jour, on va se retrouver avec quelqu'un qui aura faire une classe avec des methodes :
      setLogin();
      getLogin();
      setEmail();
      getEmail();
      setOther();
      getOther();
      etc... à ne plus en finir :D


      Cette discussion est classée dans : variables, objet, programmation, questions, orianté


      Répondre à ce message

      Sujets en rapport avec ce message

      programmation objet et mysql en php [ par Assag ] Salut,je m'aprête à réécrire un gros site php en version objet. Mais on m'a dit que la prog. objet posait des problèmes avec MySQL, en gros, que les r Cour sur la programmation oriente objet avec PHP5 [ par adama36 ] Bonjour, Je suis développeur d'application dans une entreprise et je développe avec les langage PHP4/HTML/CSS. Vue l'évolution du langage PHP qui est Quand on parle de Classe [ par Tomcube ] C'est une question très vaste,On parle de plus en plus de programmation objet. Qui dit programmation objet dit classe. D'ailleurs, c'est fou le nombre Variables Flash/Php [ par skurvy ] J'ai des variable concaténées sur Flash (ou des tableaux mutl-Directionnels) et je dois les recevoir sur un fichier Php, comment renommer les variable Vitesse de programmation? [ par Yannvii ] J'aimerais savoir s'il faut internet haute vitesse pour programmer ou si sa peux aider,car j'ai 56k et hautevitesse ne se rend pas cher moi dsl et ads Probleme de passage de variables dans l'url [ par perig ] BonjoursJe cherche a rendre autonomes les différents scripts php de mon site et le problème est le suivant : Chaque script a des variables a faire pas Programmation par correspondance [ par negbuster ] Salut je voudrais suivre des cours de programmation en php par correspondance.Je voudrais avoir des renseingnements dessus et savoir si c'est possible Probleme avec serialize et unserialize [ par matou82 ] J'ai un objet que je serialize et passe en paramètre dans l'url d'un popup.Dans ce popup je le unserialize. Il s'agit d'un objet possédant une fonctio Questions sur les sessions [ par Eurololo ] Bonjour à tous,Je ne suis qu'un débutant en PHP et j'ai 3 petites questions sur les sessions. Je viens de créer un petit script PHP qui via une bdd My Passage de variables via formulaire [ par jnkfou ] Bonjour, je suis en train de creer une page qui permettrais de modifier le profil de l'utilisateur (c'est a partir un d'un blog wordpress que j'ai mo


      Nos sponsors


      Sondage...

      Comparez les prix

      CalendriCode

      Mai 2012
      LMMJVSD
       123456
      78910111213
      14151617181920
      21222324252627
      28293031   

      Consulter la suite du CalendriCode

      A découvrir



       
      Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
      CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
      CodeS-SourceS.com© est une marque déposée tous droits réservés

      Google Coop CodeS-SourceS Google Coop CodeS-SourceS
      Temps d'éxécution de la page : 0,608 sec (4)

      Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales