|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
Hello,
J'ai une fonction définie par exemple Ce que je souhaiterai serait d'avoir un tableau de fonction : Par la suite je voudrais appeler ma fonction par : Code :
Merci de votre aide. |
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : avril 2007 Messages : 247 ![]() |
A ma connaissance cela n'est pas possible.
Quand tu appelles ton tableau tu appelles des chaines ou des entiers ou des booléens,etc... mais tu n'appelles pas de fonction. |
|
|
00
|
|
|
#3 | ||
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
Bonjour,
Un truc comme ça ? Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
Merci infiniment !!!! Là tu me sauve la vie, je ne trouvais pas les mots clés appropriés sur google : tu tappes "tableau+fonction", c'est mort !!!
Merci encore, j'ajoute ce post dans mes favoris!!! Je cloture ce post mais j'ai une question hors sujet : que signifie cette écriture : Je rencontre souvent ce code mais je vois pas ce que ça signifie. Au cas ou qq repasse par ici, en attendant merci. |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : avril 2007 Messages : 247 ![]() |
A jcroyais pas sa possible jcrois que sa pourrais bien mservir également^^
Merci Tsilefy |
|
|
00
|
|
|
#6 | |
|
Membre éclairé
![]() Jean-Philippe Morvan Inscription : juin 2008 Messages : 324 ![]() |
Citation:
C'est de l'objet en fait Tu crées une classe dans laquelle tu peux ajouter plusieurs fonctions et/ou variables fonctions de fonctions et du coup, pour les utiliser, on fait d'abord un '$maClass = new maClass()' et ensuite on peut récupérer tout ce qui est à l'intérieur : '$maClass->$variable' va récupérer la variable '$variable' située dans la classe 'maClass' de même, si tu as une fonction 'mafonction' située dans 'maClass', tu l'appelles comme ceci : $maClass->mafonction(); |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
Oui mais si je fais
je récupère la variable définit comme Et si je fais , étant donné que j'ai le $ devant mavariable, je récupère quoi ? C'est le fait d'avoir 2 $ qui me gènes... |
|
|
00
|
|
|
#8 |
|
Membre éprouvé
![]() Développeur Web Inscription : mars 2008 Messages : 439 ![]() |
si tu as une variable qui est initialisé dans ta classe. tu dois l'appeler par l'opérateur directionnel '->', sans le $ sur la variable.
comme ceci donc : $maclasse->mavariable en objet on appelle plus communément une fonction, une méthode. et une variable une propriété PS : dans ton exemple, ta propriété mavariable est privé. tu peux te brosser pour la récupérer , cela dit c'est correct. il te faut donc avoir une méthode qu'on apellerais getMavariable() { echo $this->mavariable }
__________________
I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein Pour détourner un avion, il faut monter dedans - Frédéric beigbeder |
|
|
00
|
|
|
#9 | ||||
|
Membre Expert
![]() Thierry NFC & DevWeb Inscription : avril 2006 Messages : 1 175 ![]() |
Citation:
Citation:
Code :
|
||||
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
Merci de vos explications. En fait je connais la POO, mais je suis tombé sur ce type code qui fonctionnait. Mais vous avez raison, c'est relatif au php, je vais relire tout ça.
|
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() Thierry NFC & DevWeb Inscription : avril 2006 Messages : 1 175 ![]() |
Voilà j'ai la réponse
![]() Code :
Dans ce cas, $tab est un tableau d'objet la boucle te permet de récupérer $value qui est l'index de l'objet et dans ce cas la variable $src que je passe en paramètre est le nom de la propriété dont je veux récupérer la valeur. En un mots, $value->$src te retourne la valeur de la propriéte $src de l'objet $value dans la mesure ou $src="le_Nom_Propriete" est un membre connu de l'objet. Je ne sais pas si je suis claire ?
|
||
|
|
00
|
|
|
#12 | ||
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
merci,
En fait c'est ce que j'avais besoin. J'ai un tableau qui empilent des fonctions représentant une clause WHERE à une position. Du coup, je peux "facilement" faire Code :
|
||
|
|
00
|
|
|
#13 | |
|
Membre Expert
![]() Thierry NFC & DevWeb Inscription : avril 2006 Messages : 1 175 ![]() |
Je suis content d'avoir pu t'aider, mais à mon tour j'ai une question pour ma culture personnelle. Pourrais tu m'expliquer ce que tu fais sur cette ligne de code?
Citation:
Merci A+ |
|
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
Ha, en fait, pour bien comprendre, faut voir le but de mes classes.
Si tu veux dans mes IHM j'ai la possibilité de faire un filtre sur une table MySQL (exemple, afficher les factures impayés). J'ai une classe abstraite de gestion des tables qui implémentent les filtres afin que les classes qui en héritent implémentent juste une fonction du type Code :
public function FILTER_FactureImpaye(){return "IS_PAYE=0";] Du coup je vais avoir X fonctions dans chaque classe que je stockerai dans un tableau _FILTER (il s'agit donc en gros, d'un tableau de fonctions) qui sont rangés à une position : [1]["FILTER_FactureImpaye"]. FILTER est en fait une classe qui réalise d'autres opérations mais en gros je m'en sert pour stocker d'une façon propre mes fonctions. Ce double référencement me permet de : -Récupérer le nom de la fonction à une position donné (c'est la classe abstraite qui contient ce code) $nameFonction - Exécuter la fonction par son nom return $this->$nameFonction();, et par exemple je viens de récupéré "IS_PAYE=0", ce qui reviens à écrire $this->FILTER_FactureImpaye(). Dans mon cas, l'avantage est que la fonction est définie dans la classe fille et l'appel de cette fonction se fait dans la classe mère qui, ne connait pas la dite fonction. Etant donné que à chaque table MySQL est associé une classe fille, c'est vraiment pratique. Pour le underscore devant _FILTRE. C'est une norme que j'essaie de tenir : devant mes attributs privés et protégés je mets un underscore. Autrement dit, ça ne sert à rien, si ce n'est que si j'ai un code assez gros, je vois tout de suite quelles variables sont internes. Ha non, ça me sert aussi à autre chose de plus cool : mon éditeur gère l'autocomplétation et si je mets un '_' il m'affiche directement mes variables A bientôt PS: C'est un peu dûr à expliquer
|
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Thierry NFC & DevWeb Inscription : avril 2006 Messages : 1 175 ![]() |
Merci beaucoup pour ton explication.
Même si je suis complètement inculte en Classes abstraite (je ne les ai jamais utilisées). Grace à ton explication je vais peut être essayer d'y jeter un oeil. Tu travail sur une application de gestion/facturation si j'ai bien compris. Est ce un produit commercial ou à usage interne? A+
|
|
|
00
|
|
|
#16 |
|
Membre habitué
![]() Inscription : septembre 2007 Messages : 357 ![]() |
En fait, je dois développer un espèce de CRM qui répond à des besoins d'un métier précis (gestion de location).
Si tu comprends l'utilité de l'héritage alors t'as compris l'intérêt des classes abstraites. Puis tu extrapoleras et tu comprendras l'utilité des interfaces. A bientôt |
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() Thierry NFC & DevWeb Inscription : avril 2006 Messages : 1 175 ![]() |
S'est amusant, je travail en relation très proche avec les syndics. J'ai mis en place un logiciel pour le suivit de la gestion technique du bâtiment au sein de notre entreprise.
Nos activités sont convergentes finalement. Je bosse beaucoup avec du NFC/GPRS/Web/BDD. Si tu en as le temps et l'envie, nous pourrions peut être présenter nos produits mutuels, il y a peut une convergence possible ? A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com