->set*() et ->get*()

->set*() et ->get*() – Surcharge automatique

Synopsis

true | string $DB_DataObject->set* ( mixed $value )

mixed $DB_DataObject->get* ( )

Description

Pour les versions antérieures à 4.3.2RC2, DB_DataObject est automatiquement surchargé, fournissant l'accès à toutes les variables utilisant $object->set{ColumnName}() et $object->set{ColumnName}($value) même si vous n'avez pas définit la méthode.

Il est convenu que les méthodes de définission retourne une chaîne ou TRUE, donc, elles peuvent intéragire avec setFrom et retourner un tableau d'erreurs.

Les méthodes get sont utilisées par toArray(), si définies, elles peuvent être utilisées pour altérer l'apparence des colonnes, comme rendre les dates humainement lisibles.

La logique est vraiment simple, si vous appelez $object->setXXX() et qu'il n'est pas défini, il définira juste la valeur, si vous définissez une méthode setXXXX, elle sera appelée au lieu du gestionnaire par défaut, même chose pour getXXX().

À cause d'un possible conflit de nommage d'une colonne, la méthode associée pour la colonne 'from' sera set_from, plutôt que setFrom().

Parameter

  • mixed $value - uniquement sur les définisseurs (la valeur à assigner à la colonne), sur les récupérateurs, vous devriez implémenter le formattage des dates ou un formattage sprintf en tant qu'argument.

Return value

mixed - les définisseurs retourneront TRUE depuis la méthode par défaut, dans votre implémentation des définisseurs. Il est attendu que setXXX($value) retournera une chaîne (l'erreur) s'il est invalide ou TRUE en cas de succès. getXXX devrait retourner la valeur ou une valeur formattée, tout en se souvenant qu'il affecte $object->toArray().

Note

This function can not be called statically.

Attention : Ceci est expérimental, son comportement peut changer dans le futur.

Example

Trouve et récupère les données basé sur les variables objet

<?php
class DataObjects_Person extends DB_DataObject {

   var 
$id;
   var 
$name;
   var 
$date_of_birth;

   
// vous pouvez définir cette méthode après avoir implémenté un appel à celle-ci !
   // car elle est automatiquement implémentée pour retourner $this->date_of_birth
   // la méthode surchargée __call().

   
function getDate_of_Birth() {
      return 
date('d M Y'strtotime($this->date_of_birth));
   }
}
$person = new DataObjects_Person;

$person->get(12);

// maintenant, utilisez les récupérateurs et les définisseurs, même s'ils ne sont pas définis.
echo $person->getName() . ' est né le  ' $person->getDate_of_Birth();
?>

Affichage du résultat


Fred Blogs st né le 1 April 1970
Ajout un autre objet de données pour construire une requête de jointure (Previous) Copie des éléments depuis un tableau ou un objet (pour les formulaires) (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.