Envoyer un object a travers différent fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Envoyer un object a travers différent fichier

par Maitrepylos » 12 mars 2006, 19:58

si oui ma methode n'est pas bonne, il faut passer par les sessions ou un cache avec base de donnée
Voila ce que je voulais savoir. :D

Merci pour l'example, je me le garde sous le soude car je sens qu'il va vraiment bien m'aider d'ici quelque jours.

Un tous grand merci :lol:

MaitrePylos

par jeff » 12 mars 2006, 19:29

par example
Class Message{

         private $message=array();
 private static $instance;


         Function __contruct() {
            }
         
         Function setMessage($key,$message){
           return $this->message[$key]=$message;

          }

         Function getMessage($key){

          return $this->message[$key];
         }

public static function singleton()
   {
       if (!isset(self::$instance)) {
           $c = __CLASS__;
           self::$instance = new $c;
       }

       return self::$instance;
   }


dans FormulaireBU
$sms = Message::singleton();
$sms->setMessage('bonjours','message');
recuperation
$sms = Message::singleton();
echo $sms->getMessage('bonjours');
tu veut recupere ce message apres plusiers requetes apache oui ou non
si oui ma methode n'est pas bonne, il faut passer par les sessions ou un cache avec base de donnée

par Invité » 12 mars 2006, 19:11

tu peut faire par exemple un class Message que tu instancie par un singleton
et avec une methode putMessage($key,$message) et getMessage($key)
Aurais-tu un exemple merci.


moi je voudrais instancier mon objet dans un fichier (FormulaireBU) et récupérer ses méthodes en dehors de ce fichier.

merci de votre aide.

par jeff » 12 mars 2006, 17:49

Admettons que j'ai 3 fichiers :

FormulaireInc.php : uniquement du html
FormulaireBU : où je crée l'objet
FormulaireSql : où je fais tous ce qui est de l'ordre sql.

ma question est donc de savoir comment faire voyager mon objet au travers des fichiers.
c'est pas encore tres clair

mais bon je dirais que si tu encapsule bien tes objets tu doit pouvoit faire ce que tu veut
tu peut faire par exemple un class Message que tu instancie par un singleton
et avec une methode putMessage($key,$message) et getMessage($key)

par Maitrepylos » 12 mars 2006, 17:42

Bonjour et merci de ta réponse,

Admettons que j'ai 3 fichiers :

FormulaireInc.php : uniquement du html
FormulaireBU : où je crée l'objet
FormulaireSql : où je fais tous ce qui est de l'ordre sql.

ma question est donc de savoir comment faire voyager mon objet au travers des fichiers.

Je pensais que je pourrais faire comme ceci :

$_SESSION['Object']->new Object();

Mais cela ne marche pas.

Je crois que je vais passer par Sqlite pour éviter les variables de sessions.

merci pour les conseils sur l'optimisation.

par Hubert Roksor » 11 mars 2006, 12:13

Je ne comprends pas bien, lorsque tu parles de fichiers, tu veux dire une page web (provenant donc d'une requête HTTP) ? Faire passer un objet d'une requête à une autre donc ? Point de salut sans stockage, il faudra bien le mettre quelque part... Dans la base de données, dans memcached, dans apc_store(), etc...
Existe t-il un mécanisme comme en java de Dispatcher et setAttribute?
Connais pas Java, désolé.
J'ai lu dans php5 avancé qu'un object étais une variable de session
Pourrais-tu développer stp ? Un objet est un objet, et une variable de session est une valeur dans un tableau. On placer un objet dans une variable de session et je pense que l'on peut placer des références vers des variables de session dans un objet, mais ce sont les seules associations que je vois.

Au fait, puisque tu utilises PHP5, je te recommande vivement d'utiliser __construct() plutôt qu'une fonction portant le même nom que la classe. Et sans vouloir chipoter, tu devrais essayer d'harmoniser la capitalisation de tes variables: soit tu utilises: "$salut && $attrib" ou "$Salut && $Attrib" mais si tu mixes les deux il y aura bien un jour où ça te jouera un mauvais tour. D'ailleurs, c'est aussi valable pour l'indentation ou le placement des accolades.

Envoyer un object a travers différent fichier

par Maitrepylos » 11 mars 2006, 10:08

Bonjour,

Je voudrais écrire une application en 3-tiers et j'aurais une question concernant la récupération d'un Objet.

Si j'ai la classe suivante :
Class Bonjour{

         private $salut;

         Function Bonjour() {
            }
         
         Function set_salut($Attrib){
           return $this->salut = $Attrib;

          }

         Function get_salut(){

          return $this->salut;
         }


}
Dans un fichier qui ne s'occuperais que de la partie php, je récupére des données d'un formulaire.
$Object = new Bonjour();
$Object->set_salut($_POST['machin']);
je vousdrais dans un troisième fichier aficher la valeur de mon object
$Object->get_salut();
Je sais que je pourrais le faire grâce au variables de sessions, mais justement je voudrais limiter les variables de session.

Existe t-il un mécanisme comme en java de Dispatcher et setAttribute?

J'ai lu dans php5 avancé qu'un object étais une variable de session,comment la récupérer alors?

Merci de votre aide.

MaitrePylos