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

Zend Framework PHP Discussion :

Erreur unexpected T_OBJECT_OPERATOR [ZF 1.7]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut Erreur unexpected T_OBJECT_OPERATOR
    Bonjour,

    J'ai créé une classe FonctionsUtiles que j'ai placée dans le sous-répertoire /library de mon application.

    Bien sûr, /library est ajouté à l'include_path dans index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set_include_path('.'
        . PATH_SEPARATOR . './library'
        . PATH_SEPARATOR . './application/models/'
        . PATH_SEPARATOR . '/usr/share/php/'
        . PATH_SEPARATOR . get_include_path());
    include 'Zend/Loader.php';
    Zend_Loader::registerAutoload();
    Dans indexController, j'essaie d'appeler une fonction de cette classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $row->DYS_Date_Emission = FonctionsUtiles->Change_formatDate($form->getValue('date_emission'), 'en');
    Et 'jobtiens le message d'erreur suivant :
    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /var/www/html/qualite/application/controllers/IndexController.php on line 44
    J'ai essayé sans préciser le nom de la classe ou en séparant la classe et la fonction par :: mais j'ai d'autres messages d'erreur.

    Pas habitué encore à la programmation objet en PHP, j'ai dû louper un truc qui vous semblera évident.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2003
    Messages : 253
    Par défaut
    Selon ton code, j'imagine que la méthode Change_formatDate est statique, et doit être appelée par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FonctionsUtiles::Change_formatDate([...]);
    Si tu as des erreurs, peut-être est-ce parceque tu ne l'as pas déclaré comme statique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public static Change_formatDate([...]) ...
    En php, l'opérateur de résolution de portée :: permet d'accéder aux membres statiques et aux constantes de classes, l'opérateur -> (dont, je dois avouer, je ne connais pas le nom officiel ) sert uniquement à accéder aux membres d'un objet.

    Tu auras un peu plus d'infos ici pour la syntaxe php objet :
    http://www.php.net/manual/fr/language.oop5.php

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Merci ça marche après petite correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static function Change_formatDate
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2003
    Messages : 253
    Par défaut
    La honte, j'avais oublié le "function"
    Content d'avoir pu aider

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Tu aurais surtout pu faire un appel à une méthode de ton objet, une fois celui-ci instancié.

    Si on se base sur le début de ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $objet = new FonctionsUtiles();
    $row->DYS_Date_Emission = $objet->Change_formatDate($form->getValue('date_emission'), 'en');
    Maintenant, il est vrai que pour des fonctions utiles, on utilise des méthodes statique.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur "Unexpected character in input en php"
    Par chouxe dans le forum Langage
    Réponses: 6
    Dernier message: 22/06/2011, 15h32
  2. [g95] Erreur 'Unexpected element in format string'
    Par Truth dans le forum Fortran
    Réponses: 5
    Dernier message: 23/04/2008, 13h08
  3. [FPDF] erreur unexpected $end
    Par BenoitDenis dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 03/04/2006, 14h21
  4. Shell - erreur unexpected end of file
    Par claralavraie dans le forum Linux
    Réponses: 7
    Dernier message: 12/01/2006, 09h59
  5. Erreur unexpected end of file
    Par snoop dans le forum Linux
    Réponses: 6
    Dernier message: 22/03/2004, 10h37

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