Une fonction peut-elle renvoyer son nom ?

Une fonction peut-elle renvoyer son nom ? - PHP - Programmation

Marsh Posté le 16-12-2005 à 10:12:59    

Edit : C'est toujours moi, le problème précédent étant reglé, je me pose une nouvelle question. Une fonction en cours d'éxécution peut-elle renvoyer son nom ?
 
Par exemple :
 

function superChouette() {
return ********
}


 
Je sais que ça semble encore être une question à la con, mais je vous expliquerais après, je dois filer.
 
 
Merci
 
 
Ancien Titre : Plusieurs noms pour une fonction, possible ?
 
Bonjour à tous,
 
Je suis en train de développer un Template Engine, car j'ai dû essayé les 3/4 de ceux existant et aucun ne me convient vraiment.
 
Je voudrais le faire le plus simple et compréhensible possible. Pour celà j'aimerais donc pouvoir assigner 2 noms à une même fonction.
 
C'est pour en avoir une en français et l'autre en anglais, par exemple
 
FR : chargerTemplate($nomTpl);
EN : loadTemplate($nomTpl);
 
C'est possible ? (sinon je ferais 2 fichiers, un avec les fonction 'fr' et l'autre avec les fonctions 'en')
 
Merci :)

Message cité 2 fois
Message édité par Dj YeLL le 17-12-2005 à 14:54:38

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 16-12-2005 à 10:12:59   

Reply

Marsh Posté le 16-12-2005 à 10:15:08    

à ma connaissance ce n'est pas possible.
Et au passage, je trouve ça ridicule...[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 10:20:48    

Pourquoi ridicule ?
 
Je veux que mon script soit utilisable facilement par tout le monde, que ce soit en anglais ou en français.
 
De manière intuitive, pour définir un bloc on pense definirBloc() ... un anglophone penser setBlock() ... je vois pas où est le ridicule là dedans.


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 16-12-2005 à 10:22:46    

Un  programmeur incapable d'utiliser des fonctions facilement parce-que leur nom est en anglais ne mérite pas le nom de programmeur.
Tu veux pas réécrire tout php pour changer la langue des noms de fonctions tant que t'y es?
Et pourquoi français/anglais et pas espagnol, allemand ou russe?
[:kiki]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 10:23:55    

'fin bref, fais ça en anglais, AMHA tu as déjà largement assez de boulot comme ça avec les fonctionnalités de ton machin si un moteur du style smarty ne répond pas à tes besoins...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 10:24:50    

Dj YeLL a écrit :

Pourquoi ridicule ?
 
Je veux que mon script soit utilisable facilement par tout le monde, que ce soit en anglais ou en français.
 
De manière intuitive, pour définir un bloc on pense definirBloc() ... un anglophone penser setBlock() ... je vois pas où est le ridicule là dedans.


Pense à faire une version Chinoise ou Japonaise que ça devienne drole avec les jeux de caractères...  :whistle:  
 
Si tu veux que ça soit compréhensible par tout le monde, code en anglais!!!
 
re-edit: [:grilled]


Message édité par anapajari le 16-12-2005 à 10:26:59
Reply

Marsh Posté le 16-12-2005 à 11:39:29    

ok ok ok, c'est noté :D
 
:)


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 16-12-2005 à 11:43:08    

Dj YeLL a écrit :

Bonjour à tous,
 
Je suis en train de développer un Template Engine, car j'ai dû essayé les 3/4 de ceux existant et aucun ne me convient vraiment.
 
Je voudrais le faire le plus simple et compréhensible possible. Pour celà j'aimerais donc pouvoir assigner 2 noms à une même fonction.
 
C'est pour en avoir une en français et l'autre en anglais, par exemple
 
FR : chargerTemplate($nomTpl);
EN : loadTemplate($nomTpl);
 
C'est possible ? (sinon je ferais 2 fichiers, un avec les fonction 'fr' et l'autre avec les fonctions 'en')
 
Merci :)


 
tu peux le faire. chargerTemplate($nomTpl) appelle loadTemplate($nomTpl).
 
Mais ca sert strictement à rien. Et charge le code inutilement. En plus ca oblige à connaitre 2 fois plus de fonctions.  


---------------
MZP est de retour
Reply

Marsh Posté le 16-12-2005 à 15:28:32    

Dj YeLL a écrit :

Bonjour à tous,
 
Je suis en train de développer un Template Engine, car j'ai dû essayé les 3/4 de ceux existant et aucun ne me convient vraiment.
 
Je voudrais le faire le plus simple et compréhensible possible. Pour celà j'aimerais donc pouvoir assigner 2 noms à une même fonction.
 
C'est pour en avoir une en français et l'autre en anglais, par exemple
 
FR : chargerTemplate($nomTpl);
EN : loadTemplate($nomTpl);
 
C'est possible ? (sinon je ferais 2 fichiers, un avec les fonction 'fr' et l'autre avec les fonctions 'en')
 
Merci :)


 
ok mais ca serait ChargerPatron alors :D


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 16-12-2005 à 15:29:39    

Tamahome a écrit :

ok mais ca serait ChargerPatron alors :D


 
Ce qui donne donc un moteur de patrons...[:jar jar]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 15:29:39   

Reply

Marsh Posté le 16-12-2005 à 15:50:06    

skeye a écrit :

Un  programmeur incapable d'utiliser des fonctions facilement parce-que leur nom est en anglais ne mérite pas le nom de programmeur.
Tu veux pas réécrire tout php pour changer la langue des noms de fonctions tant que t'y es?
Et pourquoi français/anglais et pas espagnol, allemand ou russe?
[:kiki]


En même temps moi je suis français et je fait pas de fonction au nom anglais mais en français parce que je suis français, parle le français et c'est plus clair parce que je maitrise mieux le français que l'anglais :)
 
Faire de l'anglais pour faire bien ça me parait tout aussi débile :whistle: Et si un anglais veut récupérer ton code vu qu'il est programmeur il comprendra ce que ta fonction fait comme tu dis :whistle: :D

Reply

Marsh Posté le 16-12-2005 à 15:53:51    

leflos5 a écrit :

En même temps moi je suis français et je fait pas de fonction au nom anglais mais en français parce que je suis français, parle le français et c'est plus clair parce que je maitrise mieux le français que l'anglais :)


 
Oui, mais en fait toi on s'en branle, il veut faire un truc utilisable par n'importe-qui.
 

leflos5 a écrit :

Faire de l'anglais pour faire bien ça me parait tout aussi débile :whistle: Et si un anglais veut récupérer ton code vu qu'il est programmeur il comprendra ce que ta fonction fait comme tu dis :whistle: :D


 
Faire de l'anglais, c'est utiliser la langue que tout programmeur doit de toute manière connaitre s'il compte pouvoir se documenter correctement.
Guignol, va.[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:01:02    

Tu utilises phpdoc ou phpdocumentor et tu fais la traduction de la doc généré.

Reply

Marsh Posté le 16-12-2005 à 16:04:08    

skeye a écrit :

Oui, mais en fait toi on s'en branle, il veut faire un truc utilisable par n'importe-qui.
 
 
 
Faire de l'anglais, c'est utiliser la langue que tout programmeur doit de toute manière connaitre s'il compte pouvoir se documenter correctement.
Guignol, va.[:pingouino]


 
J'ai jamais aimé sucer et faire le mouton ;)  
 
A la limite c'est même pas le nom des fonctions le plus ennuyeux :) C'est qu'apparement suivre et tenir une nomenclature, logique, est trop dur pour certains :)
 
Je préfère un truc en français qui se tient, qu'une daube en anglais (pour faire bien et comme tout le monde mais qui n'a pas de sens ) :)

Reply

Marsh Posté le 16-12-2005 à 16:05:00    

Berceker United a écrit :

Tu utilises phpdoc ou phpdocumentor et tu fais la traduction de la doc généré.


...donc tu lui conseilles de coder en français et de traduire ensuite la doc en anglais?[:pingouino]
Merci la perte de temps, quoi...[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:07:49    

leflos5 a écrit :

J'ai jamais aimé sucer et faire le mouton ;)


 
C'est pas une question de faire le mouton, bordel, c'est une question d'adopter tout de suite ce qui te permet d'obtenir un résultat intelligible par tout le monde...[:mlc]
 

leflos5 a écrit :

A la limite c'est même pas le nom des fonctions le plus ennuyeux :) C'est qu'apparement suivre et tenir une nomenclature, logique, est trop dur pour certains :)
 
Je préfère un truc en français qui se tient, qu'une daube en anglais (pour faire bien et comme tout le monde mais qui n'a pas de sens ) :)


 
Quel est le rapport avec le sujet?[:el g]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:09:23    

leflos5 a écrit :

J'ai jamais aimé sucer et faire le mouton ;)  
 
A la limite c'est même pas le nom des fonctions le plus ennuyeux :) C'est qu'apparement suivre et tenir une nomenclature, logique, est trop dur pour certains :)
 
Je préfère un truc en français qui se tient, qu'une daube en anglais (pour faire bien et comme tout le monde mais qui n'a pas de sens ) :)


+0.5
C'est en parti vrai. pour mon application j'ai fais en sorte qu'il soit en français mais comme je le documente avec une synthaxe particuliere (phpdocumentor)  il n'a pas a chercher par rapport au nom mais par rapport à la doc qui sera en multilangue. D'un coté au moin je sais que le texte en français sera plus pertinant pour moin lorsque de dev.  
De toute façon ce débat n'a pas lieu c'est juste une stratégie de chaque developpeur par rapport à qui il s'adresse. Pour le cas de M. s'il veut que sa reellement comprehensible de tous autant le faire en anglais via des mots clé que tous le monde connais et le compléter par une documentation multilangue.

Reply

Marsh Posté le 16-12-2005 à 16:11:29    

skeye a écrit :

...donc tu lui conseilles de coder en français et de traduire ensuite la doc en anglais?[:pingouino]
Merci la perte de temps, quoi...[:pingouino]


Pas de perte de temps s'il l'avait fait depuis le début, De plus il faut être logique, s'il veut faire une application pour le proposer à des utilisateur il va forcément faire une doc quand même sinon ben [:axelkoala]. De plus il y a des services web qui te traduit à la volé un texte. Donc il doc en fr et le reste c'est automatique.

Reply

Marsh Posté le 16-12-2005 à 16:15:07    

solution bête et stupide !
 

Code :
  1. function doSomething(arg)
  2. {
  3.    prosper;
  4.    youplaboum;
  5.    return truc;
  6. }
  7. function FaireUnTruc(arg)
  8. {
  9.    return DoSomething(arg);
  10. }

Message cité 2 fois
Message édité par Arjuna le 16-12-2005 à 16:15:43
Reply

Marsh Posté le 16-12-2005 à 16:17:00    

skeye a écrit :

C'est pas une question de faire le mouton, bordel, c'est une question d'adopter tout de suite ce qui te permet d'obtenir un résultat intelligible par tout le monde...[:mlc]
 
 
 
Quel est le rapport avec le sujet?[:el g]


Justement ce qui est intelligible, c'est la logique de l'ensemble, pas balancer un mot anglais erroné de sens dans le cas dans lequel il est utilisé :)
 
Donc autant faire un truc logique qui se comprend dans son enseemble que faire n'importe quoi en anglais ;)
 
Et puis les amerlocks ou autres anglophones, ils ont le droit de faire des efforts aussi hein ;) Que l'anglais ralie toutes les programmeurs par son universalité dans le domaine, soit, mais si quelqu'un veut utiliser un truc de toutes manières faut qu'il se renseigne sur le fonctionnement donc que ça soit anglais ou turque :whistle: Après faut des caractères universels et une doc ;)

Reply

Marsh Posté le 16-12-2005 à 16:17:06    

Arjuna a écrit :

solution bête et stupide !
 

Code :
  1. function doSomething(arg)
  2. {
  3.    prosper;
  4.    youplaboum;
  5.    return truc;
  6. }
  7. function FaireUnTruc(arg)
  8. {
  9.    return DoSomething(arg);
  10. }



 
déjà évoquée, et effectivement stupide à mon avis...:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:18:16    

au moins c'est simple, ça marche, facile à mettre en place, et surtout, ça évite de maintenir 36 fichiers

Reply

Marsh Posté le 16-12-2005 à 16:19:59    

PS: et ce système ne me choque pas plus que ça.
 
Regardez les Macros Office et VBA... Si on a un Office Fr, ben on peut coder en VBA avec des noms de fonction français.
 
C'est la merde pour la portabilité, mais pour le comptable de la société qui veut faire un écart type dans ses comptes, c'est plus pratique que d'apprendre l'anglais.

Reply

Marsh Posté le 16-12-2005 à 16:22:06    

leflos5 a écrit :

Justement ce qui est intelligible, c'est la logique de l'ensemble, pas balancer un mot anglais erroné de sens dans le cas dans lequel il est utilisé :)
 
Donc autant faire un truc logique qui se comprend dans son enseemble que faire n'importe quoi en anglais ;)
 
Et puis les amerlocks ou autres anglophones, ils ont le droit de faire des efforts aussi hein ;) Que l'anglais ralie toutes les programmeurs par son universalité dans le domaine, soit, mais si quelqu'un veut utiliser un truc de toutes manières faut qu'il se renseigne sur le fonctionnement donc que ça soit anglais ou turque :whistle: Après faut des caractères universels et une doc ;)


 
Mais pourquoi erroné de sens, foutre dieu? Parce-qu'il est français, forcément il parle anglais comme une vache espagnole et va écrire du petit nègre? [:kiki]
 
Rien ne l'empêche de le pondre en anglais, son truc logique qui se comprend dans son ensemble, et ce sera ça de gagné!:o
 
Parce-que si tu pars du principe qu'en anglais il ferait de la merde, imagine qu'il ne fournisse que la doc en anglais, ben ils sont pas près de se servir de son bouzin, les anglophones, si son anglais est si mauvais...[:moule_bite]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:23:48    

Arjuna a écrit :

au moins c'est simple, ça marche, facile à mettre en place, et surtout, ça évite de maintenir 36 fichiers


T'imagines le bordel de fonctions à rajouter sur un gros projet?[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:27:23    

Arjuna a écrit :

solution bête et stupide !
 

Code :
  1. function doSomething(arg)
  2. {
  3.    prosper;
  4.    youplaboum;
  5.    return truc;
  6. }
  7. function FaireUnTruc(arg)
  8. {
  9.    return DoSomething(arg);
  10. }



 
grillé, je l'ai di t plus haut :o
 
 
Mais je ne vois toujours pas l'interet de faire une telle absuridité

Message cité 1 fois
Message édité par cinocks le 16-12-2005 à 16:28:54

---------------
MZP est de retour
Reply

Marsh Posté le 16-12-2005 à 16:27:44    

skeye a écrit :

T'imagines le bordel de fonctions à rajouter sur un gros projet?[:pingouino]


 
Remarque, comme ca, ca fera plus de boulot pour nraynaud :D


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 16-12-2005 à 16:28:30    

Tamahome a écrit :

Remarque, comme ca, ca fera plus de boulot pour nraynaud :D


 
Traduire des noms de fonctions? Bah il va s'éclater![:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:32:30    

skeye a écrit :

Traduire des noms de fonctions? Bah il va s'éclater![:dawa]


 
Non, faire de la qualité a partir d'un étron :D


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 16-12-2005 à 16:33:14    

Tamahome a écrit :

Non, faire de la qualité a partir d'un étron :D


Chuis pas sûr qu'il accepte de toucher à du php, en fait...ou alors ça va être cher![:petrus75]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:33:22    

cinocks a écrit :

grillé, je l'ai di t plus haut :o
 
 
Mais je ne vois toujours pas l'interet de faire une telle absuridité


si tu crois que je me fais chier à lire tous les posts inintéressants... :ange: :D

Reply

Marsh Posté le 16-12-2005 à 16:34:14    

skeye a écrit :

T'imagines le bordel de fonctions à rajouter sur un gros projet?[:pingouino]


la projet peut pas être plus gros qu'Office :spamafote:
 
pourtant M$ a bien réussi à en faire 4 ou 5 versions...

Reply

Marsh Posté le 16-12-2005 à 16:34:19    

'tan on a un vendredi prolifique quand même cette semaine...[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:35:09    

Arjuna a écrit :

si tu crois que je me fais chier à lire tous les posts inintéressants... :ange: :D


 
Ca t'aurai évité de pondre le tien :o


---------------
MZP est de retour
Reply

Marsh Posté le 16-12-2005 à 16:36:22    

t'as qu'à faire comme moi, tu le lis pas :D

Reply

Marsh Posté le 16-12-2005 à 16:38:10    

spafo :D


---------------
MZP est de retour
Reply

Marsh Posté le 16-12-2005 à 16:51:06    

skeye a écrit :

'tan on a un vendredi prolifique quand même cette semaine...[:pingouino]


Le coup du forumeur frustré et pas d'accord qui met tout sur le vendredi, c'est mignon :love:

Reply

Marsh Posté le 16-12-2005 à 16:54:58    

leflos5 a écrit :

Le coup du forumeur frustré et pas d'accord qui met tout sur le vendredi, c'est mignon :love:


Bah qu'est-ce que tu veux je préfère penser que tu trolles plutot que croire que tu racontes autant d'inepties sérieusement...[:jagstang]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-12-2005 à 16:58:44    

bon allez j'ai bien réfléchi je t'ai trouvé une super méthode:

Code :
  1. $FR = array(
  2.   'FaireMachin' => 'function1',
  3.   'FaireBidule' => 'function2'
  4. );
  5. $EN = array(
  6.   'DoThing' => 'function1',
  7.   'DoStuff' => 'function2'
  8. );
  9. function function1($param){
  10.   return $param+1;
  11. }
  12. function getGoodFunction($fName, $lang){
  13.   global $FR, $EN;
  14.   eval("\$r = \$".$lang."['".$fName."'];" );
  15.   return $r;
  16. }
  17. eval('$result = '.getGoodFunction('FaireMachin', 'FR').'(2);');
  18. print $result;


 
note avant flamage: ceci est evidement une blague ... :o

Reply

Marsh Posté le 16-12-2005 à 17:00:18    

Il me semble qu'il soit possible de créer une fonction dynamiquement.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed