IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Transactions au niveau application


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1
    Par défaut Transactions au niveau application
    Salut tout le monde !

    Je suis actuellement en train de développer un gros site web grand public communautaire toussa en php 5.

    J'ai déjà mis en place tout un tas de choses pour me simplifier la vie et rendre un peu plus propre l'architecture de mon application, aussi j'ai adopté différents paterns (MVC particulièrement) lors du développement.

    J'ai encore un peu de mal à bien gérer mes classes métiers... enfin toujours est-il que j'ai à peu près une classe par grande notion que j'utilise (membre, groupe, etc), au sein des différentes méthodes de mes classes je gère des transactions BDD dans le cas où j'attaquerais plusieurs tables en meme temps afin de m'assurer de la cohérence des données (normal quoi). Mais là où je coince maintenant c'est que dans certains de mes contrôleurs (mes pages PHP en gros) je dois gérer la transaction au niveau de plusieurs méthodes de plusieurs classes, et plus au sein d'une seule méthode d'une classe. Par soucis de respect dans ma dépendance des couches (je préfèrerais que le contrôleur ne connaisse pas mon objet qui gère ma BDD) et pour uniformiser le tout je souhaiterais pouvoir donc rajouter un niveau transaction au niveau de l'enchainement de mes méthodes dans ma page PHP, au niveau application en somme. Le truc c'est que je sais pas du tout comment faire ni même si c'est faisable, voila donc pourquoi je me tourne vers vous

    Je sais pas si tout ce que j'ai dit au dessus est très clair, si vous avez besoin de précisions pour me répondre n'hésitez pas

    Merci d'avance !

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    Salut,

    Si tu souhaites effectuer une action avec ta classe de gestion de base, en fonction du controleur, sans que celles ci ne se connaissanet, pourquoi ne pas utiliser deux callbacks ?

    Puisque, comme je l'imagine, l'affichage d'une page est au moins découpé en deux étapes dans ton application :
    -> Génération des données
    -> Affichage des données ( template ect..)
    Il est assez simple deux caler un callback avant et après la préparation des données et donc d'intialiser / fermer une transaction, plus un troisieme en cas d'erreur.
    Ainsi le controleur expose trois callback "AvantPreparationDesDonnes", "ApresPreparationDesDonnes", "PreparationDesDonneesEchouees", et la classe de gestion de données n'à plus qu'à s'abonner et implémenter les méthodes pour gérer sa transaction.



    bye

Discussions similaires

  1. Implémenter via API un évènement au niveau application
    Par alexxxx69 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/12/2012, 09h30
  2. [XL-2003] Surveillance des evenements de niveau application
    Par MoonDragon dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/08/2011, 16h03
  3. [Base de donnée] Une seule transaction dans une application client/serveur multi-utilisateurs
    Par Socrat dans le forum C++Builder
    Réponses: 9
    Dernier message: 07/07/2011, 10h12
  4. Thread au niveau application
    Par zdidier dans le forum W4 Express
    Réponses: 3
    Dernier message: 09/04/2009, 18h08
  5. Réponses: 11
    Dernier message: 26/09/2007, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo