Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-05-2008 15:19:23

cortex
Membre
Date d'inscription: 22-05-2008
Messages: 33

[Zend_Table] Utilisation de Zend_Date transparente

Bonjour,

Je voulais savoir s'il existait un moyen de récupérer un objet Zend_Date lorsque la colonne est de type datetime par exemple dans MySql.
Et inversement, lors de l'insert ou update.

Il existe surement plus simple, mais pour l'instant, si je veux afficher une date dans un certain format ou manipuler la date à l'aide d'un objet Zend_Date, je suis obligé de le créé moi même à chaque fois, et de faire un get pour l'utiliser dans un update/insert.

Alors qu'il serait à mon avis plus simple, si l'adapter était capable lors du describe de détecter les colonnes de date et sur l'objet Row, en fonction du type, il renverrait l'objet ? A plus ou moins, un paramètre à setter pour conserver l'ancien comportement.

Votre avis m'intéresse.

Dernière modification par cortex (22-05-2008 15:19:45)

Hors ligne

 

#2 22-05-2008 16:04:28

Nikkau
Membre
Date d'inscription: 25-03-2008
Messages: 52

Re: [Zend_Table] Utilisation de Zend_Date transparente

Il suffit de d'étendre Zend_DB_table non?

Dernière modification par Nikkau (22-05-2008 16:04:37)

Hors ligne

 

#3 22-05-2008 16:47:04

cortex
Membre
Date d'inscription: 22-05-2008
Messages: 33

Re: [Zend_Table] Utilisation de Zend_Date transparente

Pas seulement, cette classe récupère le schéma de la table à son init, et passe par l'adapter pour cela. Or pour exemple, l'adapter pdo mysql, n'identifie pas spécialement les colonnes de types datetime.
Donc, il faudrait reprendre tout les adapteurs (au moins pire celui spécifique au projet en cours).

Ensuite, il faut aller jusqu'au Zend_Db_Table_Row_Abstract qui contient la logique de fetch. A regarder, il ne lit les données que lorsqu'elles sont accédées. Donc une sorte de Lazy Decoration sur les valeurs de type DateTime.

Bien compliquée quand même, comment faites vous aujourd'hui pour manipuler vos dates ? un timestamp unix en base ? et vous utilisez directement date(format, timestamp) dans vos vues pour les rowsets ?

cortex

Hors ligne

 

#4 22-05-2008 17:37:26

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Re: [Zend_Table] Utilisation de Zend_Date transparente

Personnellement c'est ce que je fais... Mais ta question est très pertinente, et je serais aussi intéressé par les réponses, s'il y en a !!

Dernière modification par Bast (23-05-2008 09:28:22)

Hors ligne

 

#5 22-05-2008 22:17:26

cortex
Membre
Date d'inscription: 22-05-2008
Messages: 33

Re: [Zend_Table] Utilisation de Zend_Date transparente

Je suis bien interessé tout de même par ta solution si c'est possible :p

Hors ligne

 

#6 23-05-2008 09:29:42

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Re: [Zend_Table] Utilisation de Zend_Date transparente

cortex a écrit:

un timestamp unix en base  et  directement date(format, timestamp) dans les vues

Hors ligne

 

#7 23-05-2008 09:49:26

stf
Membre
Date d'inscription: 03-04-2008
Messages: 156

Re: [Zend_Table] Utilisation de Zend_Date transparente

Pareil, sauf que mes champs ne sont pas timestamp, mais INT ...


Oui oui je sais c'est pas bien smile

Mais obligé puisque l'application doit pouvoir tourner sur tout les SGBD du marché, et que tous ne gerent pas de la meme maniere les Timestamp ...(en tout cas j'ai pas vu d'autre solution)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages