Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1632 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Utilité de la sérialisation ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilité de la sérialisation ??

n°1486779
pot2yaourt
Posté le 05-12-2006 à 17:52:37  profilanswer
 

Boujour à tous,
 
Je ne sais plus dans quel post j'ai lu que la personne sérialisait un objet et l'insérait ensuite en base.  
Quelqu'un pourrait-il me dire dans quel but cela est intéressant ?
 
Merci d'avance,
Lionel.

mood
Publicité
Posté le 05-12-2006 à 17:52:37  profilanswer
 

n°1486785
chani_t
From Dune
Posté le 05-12-2006 à 17:57:27  profilanswer
 

tu peux sauvegarder un objet avec toutes ses variables par cette méthode, et ainsi le récupérer tel quel ;)

n°1486811
pot2yaourt
Posté le 05-12-2006 à 18:49:23  profilanswer
 

chani_t a écrit :

tu peux sauvegarder un objet avec toutes ses variables par cette méthode, et ainsi le récupérer tel quel ;)


 
Euh... oui, je veux bien, mais dans quel but ?  :heink:  
Peux-tu me donner un exemple concret où l'on aurait besoin de sérialiser un objet et de l'insérer en base ?
 
En fait, sauf erreur, il me semble que la personne que je cite dans mon premier message, avait créée un objet DVD dont elle renseignait plusieurs attributs via le constucteur. J'ai compris que c'était un tru du genre :
 

Code :
  1. class DVD
  2. {
  3.      private $title;
  4.      private $length;
  5.      public function __construct($title,$length)
  6.      {
  7.           $this->title = $title;
  8.           $this->length = $length;
  9.      }
  10.      etc...
  11. }
  12. $dvd1 = new DVD("titre1",120);
  13. $dvd2 = new DVD("titre2",120);
  14. etc...
  15. $str1 = serialize($dvd1);
  16. insertion de $str1 en Bdd...


 
Vu cet exemple, je me demandais donc pourquoi ne pas créer une table "DVD" avec tous les champs adéquats ?!  :??:

n°1486861
-ThX-
Not here anymore
Posté le 05-12-2006 à 23:10:28  profilanswer
 

Si tu créais une table DVD avec les champs adéquats, tu serais obligé en retour, de recréer tes objets en lisant ta base de données. Un objet sérialisé, quand tu le "désérialises",ça donne un objet directement. Plutot que de sauvegarder la description de l'objet détaillée, tu sauvegardes directement l'objet en lui meme

n°1486896
FlorentG
Unité de Masse
Posté le 06-12-2006 à 08:51:28  profilanswer
 

Mouais, c'est peut-être pas super de sérializer un truc pareil :/ Si t'as une recherche à faire par exemple, c'est carrément naze

n°1486898
chani_t
From Dune
Posté le 06-12-2006 à 08:56:28  profilanswer
 

ba tout dépend de l'utilité, de comment tu renseigne ta base de données.
Mais ça peut être util de récupérer un objet tel qu'il était, notament pour le faire persister tout au long d'une session... cepepndant j'aurais utilisé une variable de session pour enregistrer la sérialisation dedans.
 
Toujours est il que ça a un intérêt dans certain cas :D

n°1486986
skeye
Posté le 06-12-2006 à 10:37:42  profilanswer
 

C'est super stupide dans 99% des cas, quand même...[:pingouino]
Ta base de données elle ne peut plus te servir qu'en php, avec des conneries comme ça...et impossible d'utiliser la moitié des fonctionnalités d'un sgbd en y collant des horreurs de ce genre...:o


---------------
Can't buy what I want because it's free -
n°1487017
chani_t
From Dune
Posté le 06-12-2006 à 11:01:57  profilanswer
 

skeye a écrit :

C'est super stupide dans 99% des cas, quand même...[:pingouino]
Ta base de données elle ne peut plus te servir qu'en php, avec des conneries comme ça...et impossible d'utiliser la moitié des fonctionnalités d'un sgbd en y collant des horreurs de ce genre...:o


 
ba c clair que si tu ne met que l'objet, ya pas grand intérêt, maintenant si tu y rajoute certain champs bien choisi... pourquoi pas

n°1487021
skeye
Posté le 06-12-2006 à 11:05:22  profilanswer
 

bof, non.:o
Une bdd est là pour stocker des données, pas pour pourrir tes données avec des trucs spécifiques à ton appli, normalement.:o
A part pour une implémentation perso d'un système de sessions je classe ça dans la catégorie "design pourri".[:dawao]


---------------
Can't buy what I want because it's free -
n°1487026
chani_t
From Dune
Posté le 06-12-2006 à 11:07:09  profilanswer
 

:D... je classe ça dans le pourquoi pas, mais aussi dans le "pas chez moi :D" ;)

mood
Publicité
Posté le 06-12-2006 à 11:07:09  profilanswer
 

n°1487029
skeye
Posté le 06-12-2006 à 11:08:48  profilanswer
 

bah pour que ce soit utilisable autrement que pour des sessions il faut dupliquer des données, voilà pourquoi pas.[:dawao]


---------------
Can't buy what I want because it's free -
n°1487044
anapajari
s/travail/glanding on hfr/gs;
Posté le 06-12-2006 à 11:19:03  profilanswer
 

pis là vu l'exemple, autant tout mettre dans une bdd et faire un fetch_object. Le résultat est identique et c'est autrement plus mieux

n°1487493
pot2yaourt
Posté le 06-12-2006 à 17:51:17  profilanswer
 

FlorentG a écrit :

Mouais, c'est peut-être pas super de sérializer un truc pareil :/ Si t'as une recherche à faire par exemple, c'est carrément naze


 
Exactement ! C'était là où je voulais en venir.
Je ne comprenais vraiment pas l'utilité de stocker un pareil objet en base si on ne peut pas faire de recherches...
 
Sinon, stocke un objet en base pour s'en reservir plus tard en tant que tel, pourquoi pas effectivement. Même si j'aurai préféré le stocker plutôt en Session.
 
En tous cas, merci à tous d'avoir donné votre avis !

n°1489876
vanadium
N° Atomique : 23
Posté le 11-12-2006 à 22:25:33  profilanswer
 

La sérialisation n'est pas forcément utilisée pour stocker un objet en base de données.  
Elle peut être utile si par exemple tu fais du xml-rpc entre 2 applications php distantes.
Tu serialises l'objet.
Tu l'envoies encodé en xml via xml rpc.
L'autre coté reçoit l'objet en parsant le xml et en le désérialisant.
 
L'avantage évident est que cela évite de devoir extraire les données de l'objet d'un coté. De la même manière, cela évite de l'autre coté à devoir instancier un objet puis lui assigner les attributs récupérés via xml rpc.
 
Pour ceux qui ne savent pas ce qu'est XML RPC : http://fr.wikipedia.org/wiki/XML-RPC
 
Son petit frère le nouveau : http://fr.wikipedia.org/wiki/SOAP

n°1489933
skeye
Posté le 12-12-2006 à 08:24:21  profilanswer
 

euh soap c'est loin d'être nouveau.[:pingouino]
et utiliser la sérialisation php pour ça, lolilol.[:marc]
Le but du jeu c'est de pouvoir réutiliser le résultat dans un autre langage, à la base, hein...[:dawa]


---------------
Can't buy what I want because it's free -
n°1489978
vanadium
N° Atomique : 23
Posté le 12-12-2006 à 09:57:48  profilanswer
 

SOAP et XML-RPC sont utilisable dans de très nombreux langages, il suffit d'implémenter les spécifications de leur API.
De plus, leurs API sont déjà implémenter dans de nombreux langages, et SOAP et XML-RPC étant orientés SOA il est évident qu'il sont réutilisables, c'est le but même de leur existence.
Libre à toi de faire ce que tu veux. Mais si tu réfutes constamment les explications qu'on te donne, c'est certain que tu auras du mal à avancer. :jap:

Message cité 1 fois
Message édité par vanadium le 12-12-2006 à 09:59:02
n°1489988
skeye
Posté le 12-12-2006 à 10:02:58  profilanswer
 

vanadium a écrit :

SOAP et XML-RPC sont utilisable dans de très nombreux langages, il suffit d'implémenter les spécifications de leur API.
De plus, leurs API sont déjà implémenter dans de nombreux langages, et SOAP et XML-RPC étant orientés SOA il est évident qu'il sont réutilisables, c'est le but même de leur existence.
Libre à toi de faire ce que tu veux. Mais si tu réfutes constamment les explications qu'on te donne, c'est certain que tu auras du mal à avancer. :jap:


 
Tu es conscient que tu réponds complètement à coté de la plaque, quand même?[:autobot]
Quand on parle de sérialisation en php, c'est via serialize() et unserialize().
Qui n'utilisent absolument pas un format xml.[:dawa]
Et qui donc ne servent à rien dans le contexte de soap/xml-rpc.[:dawa]


---------------
Can't buy what I want because it's free -
n°1489990
skeye
Posté le 12-12-2006 à 10:03:47  profilanswer
 

'fin bref avant de vouloir me donner des explications commence par maitriser le sujet mieux que moi...[:marc]


---------------
Can't buy what I want because it's free -
n°1491432
vanadium
N° Atomique : 23
Posté le 14-12-2006 à 16:23:19  profilanswer
 

pot2yaourt a écrit :

Boujour à tous,
 
Je ne sais plus dans quel post j'ai lu que la personne sérialisait un objet et l'insérait ensuite en base.  
Quelqu'un pourrait-il me dire dans quel but cela est intéressant ?
 
Merci d'avance,
Lionel.


 
Dans osCommerce, ils font de la serialisation pour mémoriser ton panier, certes pas dans la base de données, mais dans un cookie. Ainsi, on peut placer un array serialisé dans le cookie, et le récupérer tel quel. :)
On déserialise le cookie et on a a nouveau le cookie. C'est pariculièrement interressant dans ce cas puisqu'un array de produits par ex est très facile à manipuler. Et puis de toute façon, je ne vois pas d'autre solution pour stocker ton panier dans un cookie sans serialiser/deserialiser. (Si tu fais implode, explode pour manipuler le contenu du cookie ça revient à le serialiser/deserialiser !)

Message cité 1 fois
Message édité par vanadium le 14-12-2006 à 16:23:35
n°1492217
Dj YeLL
$question = $to_be || !$to_be;
Posté le 16-12-2006 à 17:11:44  profilanswer
 

Pour le moment, je crois que la seule fois où j'ai utilisé la sérialisation, c'était pour stocker un array dans une constante [:tinostar]


---------------
Gamertag: CoteBlack YeLL
n°1492357
Master p
My new cock ring :D
Posté le 17-12-2006 à 13:50:10  profilanswer
 

vanadium a écrit :

Dans osCommerce, ils font de la serialisation pour mémoriser ton panier, certes pas dans la base de données, mais dans un cookie. Ainsi, on peut placer un array serialisé dans le cookie, et le récupérer tel quel. :)
On déserialise le cookie et on a a nouveau le cookie. C'est pariculièrement interressant dans ce cas puisqu'un array de produits par ex est très facile à manipuler. Et puis de toute façon, je ne vois pas d'autre solution pour stocker ton panier dans un cookie sans serialiser/deserialiser. (Si tu fais implode, explode pour manipuler le contenu du cookie ça revient à le serialiser/deserialiser !)


On peut très bien imaginer une table cart_contents(id_user, id_cart, id_article), avec un cookie contenant `id_user` [:ooooo]


---------------
HAHAHA I M USING TEH INTERNET
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Utilité de la sérialisation ??

 

Sujets relatifs
Socket et Serialisationquelle utilité de connaitre la norme W3C ?
Probleme de sérialisation XML de collection d'objets VB .Netjava - serialisation
prob sérialisationUtilité des parenthèses - (char)
Probleme de serialisation d'objet[Visual MFC] Sérialisation de structure (LOGFONT)...?
[C#] Xml SerialisationUtilité du ||
Plus de sujets relatifs à : Utilité de la sérialisation ??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR