Bonjour
je cherche la méthode pour utiliser un objet d'une classe dans une autre classe sans utiliser extends
merci de votre aide
Bonjour
je cherche la méthode pour utiliser un objet d'une classe dans une autre classe sans utiliser extends
merci de votre aide
Bizarre comme question, qu'est ce qui t'empêcherait de faire un new d'un objet dans un autre ?
Tu parles d'une methode statique ?
tu peux faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part class::method();
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
en faite dans une class quelquonque, je fait appelle a ma classe de connexion SQL par un extends puis par $this->...
par contre si je met le nom de l'objet de connexion qui lui n'est pas initialiser dans la classe ben voici l'erreur retourné
Fatal error: Call to a member function on a non-object
ya aussi un autre problème qui vient de ca aussi
sur mon index je choisi le language de l'utilisateur
include("./class/class_languageSite.php");
$obj_language = new languageSite();
include (".".$obj_language->chooseLanguage());
donc j'inclu tel ou tel page contenant les variables des texte
si ensuite je fait un echo $texte";
cela marche sans soucis
cepandedant si je fait appele a une fonction d'une classe et que dans cette fonction j'ai echo $texte;
cela n'affiche rien
je comprend pas trop pourquoi
tu as un exemple code, parce que la ca devient difficile a conceptualiser?
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
donc dans index.php
la class languageSite sert a definir la page a inclure en fonction de la langue de l'utilisateur
elle contien tout les textes qui sont stocké dans des variables :
$text1="texte_en_francais"; // page francaise
$text1="text_in_english"; //page anglaise
include("./class/class_languageSite.php");
$obj_language = new languageSite();
include (".".$obj_language->chooseLanguage());
.....
switch ($_GET['id'])
{
case list_mb:
include("./class/class_membres.php");
$obj_membres = new membres();
$obj_membres->list_members();
break;
...
} // fin switch
ensuite la fonction list_members() m'affiche la liste des membres. cette fonction contien du texte que j'affiche selon la langue.
donc je fait simplement echo $text1;
cela devrai m'afficher mon texte mais rien ne s'affiche
je suis assez clair ?
Et avec global ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $cnxSql = new CnxSql(); class Truc { function machin() { global $cnxSql; [...] } }
un super merci à toi ca marche parfaitement avec ce mot clé
j'en avait jamais entendu parlé
par contre ca m'oblige a mettre
global $obj_language;
include (".".$obj_language->chooseLanguage());
dans chaque fonction
pas très pratique mais ca marche
une facon plus propre serait de faire un singleton de ta classe CnxSql
Et ensuite de recuperer la meme instance dans chaque methode.
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
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