->setFrom()

->setFrom() – Copie des éléments depuis un tableau ou un objet (pour les formulaires)

Synopsis

boolean $DB_DataObject->setFrom ( array or object $from , string $format = '%s' )

Description

Copie les éléments qui se trouvent dans les définitions des tables depuis un tableau ou un objet dans l'objet courant (ceci n'effecera pas les valeurs des clés). Ceci peut être utilisé pour effectuer des envois par formulaire (si le nom du champs correspond à la base de données) ou clône les objets similaires.

Vous ne pouvez pas définir la valeur d'une clé de colonne en utilisant setFrom, ceci est ignoré silencieusement pour des raisons de sécurité. (vous pouvez toujours l'assigner manuellement).

setFrom tentera d'appeler les méthodes de définition set{nom_colonne} si elles existent. setFrom appellera également la méthode fromValue(), qui formattera les dates correctement.

Vous devez garder à l'esprit que cette méthode chevauchera la méthode surchargée pour les noms de colonnes. De ce fait, les méthodes associées pour les noms de colonnes 'from' sont set_from et getFrom.

Parameter

  • array ou Object $from - ce que l'on doit copier

  • string $format - le format du tableau ou des variables de l'objet et comment elles sont dans cette objet. Par exemple, si vous indiquez un tableau dans le format prefix_COLNAME, alors, vous pourrez utiliser ici 'prefix_%s'.

Return value

array or boolean - TRUE en cas de succès, ou un tableau de valeurs retournées set*() pour les versions de PHP égales ou supérieures à 4.3.2.

Note

This function can not be called statically.

Example

Exemple avec setFrom()

<?php
// personnes contenant nom et age
// $_POST contient 'name'=>'fred', 'age'=>'22'

$person = new DataObjects_Person;
$person->get(12);
$person->setFrom($_POST);
$person->update();


// ou en utilisant le formattage

// personnes contenant nom et age
// $_POST contient 'person_name'=>'fred', 'person_age'=>'22'

$person = new DataObjects_Person;
$person->get(12);
$ret $person->setFrom($_POST,'person_%s');

// utilisation de la valeur retournée depuis setFrom pour tester les erreurs (PHP4.3.2)
if ($ret === true) {
   
$person->update();
} else {
   
// $ret est un tableau ou des chaînes de caractères
   
echo 'Il y a des erreurs : '  implode(', '$ret);
}

// ou copie depuis un autre objet
$personA = new DataObjects_Person;
$personA->get(12);

$personB = new DataObjects_Person;
$personB->get(14);

$personA->setFrom($personB);
$person->update();
?>
Surcharge automatique (Previous) Récupère un tableau du résultat courant (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.