13.6.2.8 Doc::postStore()
Hameçon (ou hook) utilisé par la méthode Doc::Store()
.
Cette méthode est appelée après l'enregistrement en base de données.
13.6.2.8.1 Description
string postStore ()
Cette méthode est aussi utilisable pour réaliser un post-traitement après une modification. Elle ne peut pas annuler l'enregistrement. Le document possède un identificateur et est déjà enregistré en base.
13.6.2.8.1.1 Avertissements
Il ne faut pas appeler la méthode Doc::Store()
dans cette méthode
au risque d'avoir une boucle de récursion infinie.
Si des modifications d'attributs sont réalisées dans cette méthode, elles sont
enregistrées en base par la méthode Doc::Store()
.
13.6.2.8.2 Liste des paramètres
Aucun paramètre.
13.6.2.8.3 Valeur de retour
La valeur de retour est un message d'information. Il est stocké dans le
paramètre de sortie $info->postStore
de la méthode Doc::Store()
.
13.6.2.8.4 Erreurs / Exceptions
Aucun.
13.6.2.8.5 Historique
Anciennement nommée postModify()
.
13.6.2.8.6 Exemples
Calcul de la somme des attributs my_numberone
et my_numbertwo
et
enregistrement dans l'attribut my_sum
.
Soit la famille suivante :
BEGIN | Ma famille | MYFAMILY | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
CLASS | My\MyFamily | ||||||||||
// | idattr | idframe | label | T | A | type | ord | vis | … | phpfunc | |
ATTR | MY_IDENTIFICATION | Identification | N | N | frame | 10 | W | ||||
ATTR | MY_NUMBERONE | MY_IDENTIFICATION | nombre 1 | Y | N | int | 20 | W | |||
ATTR | MY_NUMBERTWO | MY_IDENTIFICATION | nombre 2 | N | N | int | 30 | W | |||
ATTR | MY_SUM | MY_IDENTIFICATION | nombre 1+2 | N | N | int | 30 | R | |||
END |
Avec la classe :
namespace My; use \Dcp\AttributeIdentifiers\MyFamily as MyAttributes; class MyFamily extends \Dcp\Family\Document { public function mySum($x, $y) { return ($x + $y); } public function postStore() { $err=parent::postStore(); if (empty($err)) { $n1 = $this->getAttributeValue(MyAttributes::my_numberone); $n2 = $this->getAttributeValue(MyAttributes::my_numbertwo); $this->setAttributeValue(MyAttributes::my_sum, $this->mySum($n1, $n2)); } return $err; }
13.6.2.8.7 Notes
En cas de famille héritée, il est nécessaire d'appeler l'hameçon du parent pour disposer des mêmes fonctionnalités.
Cette méthode est appelée par Doc::store()
en cas de création, de
révision et de modification tandis que l'hameçon
Doc::postCreated()
est appelé qu'en cas de création ou de
révision.