Bonjour, est-ce possible d'utiliser des fonctions non-objets à partir d'un fichier non Zend (sur un autre serveur) contenant que des fonctions à partir de mon projet Zend ?
Merci d'avance pour vos réponses.
Bonjour, est-ce possible d'utiliser des fonctions non-objets à partir d'un fichier non Zend (sur un autre serveur) contenant que des fonctions à partir de mon projet Zend ?
Merci d'avance pour vos réponses.
Rien ne t'empêche de faire un include dans ton controller par exemple.
En revanche, si ton fichier est sur un autre serveur, il sera interprété par php et donc tu ne pourras pas accéder à tes fonctions.
Bonjour,
J'ai mis mes fonctions dans une classe .
Par exemple :
J'appelle cette fonction dans mon controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class LaClasse { function MaFonction($param,$lnk) { $query="SELECT * FROM TABLE WHERE ID=".$param; $res=mysql_query($query,$lnk); if(mysql_num_rows($res)) return(mysql_fetch_assoc($res)); return(array()); } }
Je souhaite réutiliser ces fonctions sans les transformer à la façon Zend avec $lnk->fetchAll, $lnk->query(), $lnk->LastInsertId()...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $d = new LaClasse(); $tab=$d-> MaFonction($param,$lnk);
Le problème est que les fonctions mysql ne fonctionne pas.
Le message d'erreur est par ex avec mysql_query:
mysql_query(): supplied argument is not a valid MySQL-Link resource in ...
Pour toute ces fonctions il y a ce message.
le paramètre $lnk est obtenu coté Zend dans le controller de la manière suivante :
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $registry = Zend_Registry::getInstance(); $db = $registry->get('dbAdapter');
Attention la classe Zend_Db_Adapter n'a rien à voir avec la ressource MySQL que prennent les fonctions telles que mysql_query. Si tu veux utiliser mysql_query tu devrais prendre $lnk->getConnection() qui renvoie la ressource adéquate je crois. (A condition que $lnk soit une instance de Zend_Db_Adapter)
Mais euh pourquoi est-ce que tu veux tout recoder avec des mysql_query alors qu'il y a pleins de fonction Zend très pratique pour utiliser une base de données ?
Parce que ces fonctions ont déjà été codées par un autre développeur alors que Zend n'était pas utilisé.
Je ne vois pas comment faire, je crois que je vais plutôt transformer en Zend.
Par contre je ne vois pas d'équivalent à mysql_error($lnk) en Zend.
Merci.
Lorsqu'il y a une erreur, Zend_Db lève une exception Zend_Db_Exception. À toi de l'intercepter à l'aide de try catch et de faire le traitement nécessaire alors. Grâce à la méthode getMessage de la classe Zend_Db_Exception, tu pourras récupérer le message d'erreur.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager