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

Autres composants PHP Discussion :

utiliser zend sans base de données


Sujet :

Autres composants PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut utiliser zend sans base de données
    Bonjour,

    Je souhaite configurer Zend pour faire en sorte qu'il ne cherche pas à se connecter à une base de données MySQL ou autre.

    En effet, j'utilise une API pour récupérer les données dont j'ai besoin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public function checkPass($pMail, $pPass) {
     
        return $this->outils_curl->getObjectFromUrl($this->config_vars->url_api.'/login/checkpass/mail/'.urlencode($pMail).'/pass/'.urlencode($pPass).'/k/'.$this->outils_curl->getKey().'/');
     
    }
    cette fonction me retourne un objet que j'utilise ensuite.

    Seulement la class qui contient ces actions s'appelle Zend_Db_Table_Abstract et si je cherche à supprimer les élément de connexion à une base de données dans mon application.ini ça plante...

    Comment faire pour garder l'appel aux modèles intact tout en supprimant l'aspect base de données de l'application.

    L'appel à un modèle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $table_usedathea = new Application_Model_Tusedathea;
    $table_usedathea -> checkPass($email, $pass);
    Merci

  2. #2
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,
    Les intéractions BDD sont tout à fait optionnelles. Il suffir de configurer tes models pour qu'ils ne fassent pas d'appels aux Zend_DbTable_Abstract, ni qu'ils instancient des classes dédiées. Vérifie également que tu ne fait pas de référence à la bdd dans ton application.ini (ou autre fichier de conf).
    Ce que tu as posté du controleur ne donne pas bcp d'infos sur ton architecture.
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut
    Salut,

    Si je supprime la fonction _initDb() de mon bootstrap l'application continue de fonctionner correctement.

    Par contre si je supprime les éléments liés à la base de données dans mon application.ini et que je remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Application_Model_Tusedathea extends Zend_Db_Table_Abstract
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Application_Model_Tusedathea
    là il me renvoit une erreur :

    Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in /www/library/Zend/Controller/Dispatcher/Standard.php:248

  4. #4
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    L'erreur que tu as mise en exemple n'a pas de lien avec ce que tu as viré de ta conf et de tes modèles. Il dit simplement que tu cherches a afficher un controleur inconnu.
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut
    Oui ok,

    L'erreur qui m'affiche réelement c'est :

    Notice: Undefined property: Application_Model_Tusedathea::$outils_curl in /www/htdocs/flycheck/application/models/Tusedathea.php on line 21

    Fatal error: Call to a member function getObjectFromUrl() on a non-object in /www/htdocs/flycheck/application/models/Tusedathea.php on line 21
    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
    23
    24
    25
    <?php
     
    class Application_Model_Tusedathea
    {
     
    	public function init() {
     
    		$this->config_vars = Zend_Registry::get('config_vars');
    		$this->outils_curl =  Zend_Controller_Action_HelperBroker::getStaticHelper('Curl');
     
    	}	
     
    	public function checkMail($pMail) {
     
    		return $this->outils_curl->getObjectFromUrl($this->config_vars->url_api.'/login/checkmail/mail/'.urlencode($pMail).'/k/'.$this->outils_curl->getKey().'/');
     
    	}
     
    	public function checkPass($pMail, $pPass) {
     
    		return $this->outils_curl->getObjectFromUrl($this->config_vars->url_api.'/login/checkpass/mail/'.urlencode($pMail).'/pass/'.urlencode($pPass).'/k/'.$this->outils_curl->getKey().'/ip/'.$_SERVER["REMOTE_ADDR"].'/');
     
    	}
     
    }
    Le helper n'arrive plus à se charger...

    Puis-je remplacer Zend_Db_Table_Abstract par autre chose afin de pouvoir charger mes helpers sans pour autant avoir avoir une base de données ?

  6. #6
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    C'est normal, il n'y a aucune raison qu'il appelle la méthode init. Met son contenu dans un constructeur "__construct()".
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  7. #7
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut
    pas faux...

    ça fonctionne parfaitement maintenant

    merci

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

Discussions similaires

  1. Utiliser dbgrid par code sans base de donnés
    Par bleuerouge dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/05/2008, 11h12
  2. [VS2005]Utilisation d'une base de données avec VB 2005
    Par gabrielgarcin dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/02/2006, 15h46
  3. Réponses: 5
    Dernier message: 13/12/2005, 16h04
  4. Utilisation d'une base de données a distance
    Par newbie57 dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/10/2005, 09h25
  5. [CRYSTAL REPORT] Etat sans base de données
    Par chnickel dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/05/2004, 15h44

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