13.6.2.2 Doc::postCreated()

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.2.1 Description

string postCreated ()

Cette méthode est utilisable aussi pour réaliser un post-traitement après une création de document. Elle ne peut pas annuler l'enregistrement. Le document possède un identificateur et est déjà enregistré en base.

Cette méthode est aussi appelée par Doc::revise() lorsque le document est révisé. Une révision entraîne une création en base de données.

13.6.2.2.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 automatiquement enregistrées en base par la méthode Doc::Store().

13.6.2.2.2 Liste des paramètres

Aucun paramètre.

13.6.2.2.3 Valeur de retour

La valeur de retour est un message d'information. Ce message est enregistré dans l'historique du document.

13.6.2.2.4 Erreurs / Exceptions

Aucune.

13.6.2.2.5 Historique

Aucun.

13.6.2.2.6 Exemples

Dans la famille MyFamily, une référence unique est enregistrée lors de la création du document.

Soit la famille suivante :

BEGIN Ma famille MYFAMILY
CLASS My\MyFamily
// idattr idframe label T A type ord vis
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_REF MY_IDENTIFICATION Référence N N frame 10 R
END
namespace My;
use \Dcp\AttributeIdentifiers\MyFamily as MyAttributes;
 
class MyFamily extends \Dcp\Family\Document
{
    public function postCreated()
    {
        $msg = '';
        if ($this->revision == 0) { // création initiale
            $err = $this->setValue(MyAttributes::my_ref, uniqid('my'));
            if ($err) {
                $msg = sprintf("Pas d'identifiant");
            } else {
                $msg = sprintf("Création identifiant %s", $this->getRawValue(MyAttributes::my_ref));
            }
        }
        return $msg;
    }
}

13.6.2.2.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() qu'en cas de création ou de révision tandis que l'hameçon Doc::postStore() est appelé systématiquement par la méthode Doc::store().

13.6.2.2.8 Voir aussi

×