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 :

[POO] Passage de paramètre par référence.


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 19
    Points
    19
    Par défaut [POO] Passage de paramètre par référence.
    J'ai l'erreur suivante:
    [Fatal error: Cannot pass parameter 1 by reference in /project/caddeals/caddeals_test/ISDOMON/lib/Machine.php on line 21]

    Le bout de code qui contient la igne désigné est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    class Machine extends DBObject {
      var $accounts=NULL;
      var $instances=NULL;
    
      // static
      function &getTable() {
        $table =& new DBTable('machine');
        $table->add(new DBColumn('num',DBColumn__TYPE_NUM),TRUE);
        $table->add(new DBColumn('name',DBColumn__TYPE_CHAR));
        $table->add(new DBColumn('description',DBColumn__TYPE_CHAR));
        $table->add(new DBColumn('isactive',DBColumn__TYPE_NUM));
        $table->setKeyBehavior(DBTable__KEYBEHAVIOR_AUTOINCREMENT);
        $table->addIndex(array('name'));    return $table;
      }
    
      // constructor
      function Machine($key) {
        $this->DBObject($key);
        if($this->isNew()) {
          $this->set('isactive',Machine__ACTIVE_YES);
        }
      }
    La ligne en rouge est la ligne 21 qui contient l'erreur.
    Merci pour votre aide.

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Citation Envoyé par abidi_niz
    J'ai l'erreur suivante:
    [Fatal error: Cannot pass parameter 1 ...
    Je dirais que dans addIndex(array('name')); tu te trompes de paramètre ou alors tu ne places pas ce que tu crois placer :
    - array('name') contient quoi ?
    - addIndex prend quoi en paramètre ?

  3. #3
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Je dirais qu'il faut que tu crée un objet, et ensuite que tu le passes en paramètre. Il ne peut pas y avoir de référence sur un objet transitoire comme ici.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $index = array('name');
    $table->addIndex($index);

  4. #4
    Fabouney
    Invité(e)
    Par défaut
    pourrais tu donner l'en-tête de la fonction AddIndex() stp.

    tu dois avoir un truc du style :

    si je me trompe pas :s

Discussions similaires

  1. [POO] Passage d'objet par référence
    Par PinGu- dans le forum Langage
    Réponses: 2
    Dernier message: 10/03/2008, 10h23
  2. Réponses: 8
    Dernier message: 09/08/2007, 17h34
  3. Passage de paramètres par référence
    Par margagn dans le forum Framework .NET
    Réponses: 2
    Dernier message: 08/05/2007, 23h08
  4. [C#] passage de paramètres par référence
    Par SesechXP dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/08/2006, 12h48
  5. [EJB] Passage des paramètres par référence
    Par salome dans le forum Java EE
    Réponses: 2
    Dernier message: 05/07/2005, 11h25

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