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.

13.6.2.8.8 Voir aussi

×