Accueil > Forum > > > > petites questions sur la programmation orianté objet
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
|
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
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|