Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Documents
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


Transtypage - Dates, Blobs et Null

Transtypage - Dates, Blobs et Null

Transtypage - Dates, Blobs et Null --  DB_DataObject_Cast ::date(), ::blob(), ::sql()

Travailler avec le transtypage (tout type excepté les chaînes de caractères et le nombres)

Avertissement

Ceci est expérimental ! Bien que ce soit documenté, c'est actuellement supporté uniquement sur une liste limitée de base de données (envoyez-moi des patchs si vous voulez que cela supporte votre base de données favorites) et l'API interne devrait changer dans le futur...

DataObjects est une façon très simple de travailler avec les bases de données qui sont focalisées sur les nombres et les chaînes de caractères. Vous pouvez également l'utiliser sur les champs date (bien que vous deviez formater vos chaînes correctement) et vous pouvez l'utiliser avec d'autres types en utilisant des requêtes SQL spéciales, et la chaîne de caractères "null" est automatiquement convertie en NULL dans la base de données.

Dans un but de fournir une façon claire de coder les types riches de base de données, l'objet DB_DataObject_Cast a été créé. Il propose de créer simplement un objet représentant la plus part des types les moins fréquemment utilisés. A suivre, un exemple d'utilisation pour créer quelques types simples.

L'objet de transtypage peut être utilisé dans la construction de la requête et dans l'assignement de valeurs.

Comme vous pouvez le voir, ce composant est basique, donc, si vous voulez d'autres fonctionnalités, si vous avez des idées, n'hésitez surtout pas à me contacter à l'adresse email alan_k at php dot net.

Le type Date

La plupart des dates sont stockées dans une base de données au format standard ISO, cette méthode vous permet de créer des types Date, depuis soit l'année, le mois, le jour, humainement lisibile (jour/mois/année) ou au format ISO standard année-mois-jour. Il complète les valeurs restantes en se basant sur des règles simples.

Exemple 33-3. Insertion d'une date dans divers formats

<?php


$person = DB_DataObject::factory('person');
$person->name = 'fred'

// utilisation d'une date humainement lisibile

// format complet
$person->birthday = new DB_DataObject_Cast::date('21/12/2003');

// utilisation seulement du mois/ann&eacute;e - actuellement d&eacute;finie au 1 d&eacute;cembre 2003
$person->expires =  DB_DataObject_Cast::date('12/2003');

// utilisation uniquement de l'ann&eacute;e - actuellement d&eacute;finie au 1 jan 2003
$person->expires = DB_DataObject_Cast::date(2003);


// utilisation du format standard ISO

// format complet
$person->birthday =  DB_DataObject_Cast::date('2003-12-21');

// utilisation seulement du ann&eacute;e-mois - actuellement d&eacute;finie au 1 d&eacute;cembre 2003
$person->expires =  DB_DataObject_Cast::date('2003-12');




// utilisation d'une syntaxe avec tableau

// format complet
$person->birthday =  DB_DataObject_Cast::date(2003,12,21);

// utilisation seulement du ann&eacute;e-mois - actuellement d&eacute;finie au 1 d&eacute;cembre 2003
$person->expires =  DB_DataObject_Cast::date(2003,12);



// les valeurs r&eacute;elles sont sotck&eacute;es dans una variable objet

echo $person->birthday->year; // affiche 2003
echo $person->birthday->month; // affiche 12
echo $person->birthday->day; // affiche 21


// vous pouvez effectuer des additions simples de date (similaire &agrave; mktime)

$d = DB_DataObject_Cast::date('01/12/2003');

$nextMonth = DB_DataObject_Cast::date($d->year,$d->month+1,1);


?>


Manuel PEAR pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx