Les fonctions anonymes en PHP
12 giugno 2008, 9:09 Open Source , PHP , Trucs & Astuces Juin 12, 2008, 09:09
PHP est un langage de programmation bien, si nous jugeons avec les paramètres assez empiriques de la diffusion et le montant de la fonction qui intègre.
S'avère souvent les scénarios de programmation étonnamment souple pour répondre aux beaucoup plus complexe que de simplement intégrer des scripts dans une page web.
Au cours d'un récent échange de vues avec un mathématicien aime de l'Open Source a présenté le problème de la création de fonctions anonymes, et - c'est ici que le bât blesse - pas à l'intérieur d'une classe PHP. Sauter le baratin théorique que j'ai eu à siroter lambda-calcul et fonctions anonymes, et je ne présentons ici un passage de la définition donnée par WikiPedia . Je cite:
Le lambda calcul est un système de réécriture défini formellement par le mathématicien Alonzo Church . Il a été développé pour analyser formellement les définitions de fonctions , de leurs applications et est également un outil intéressant pour étudier les phénomènes de récurrence . Comme le système de réécriture, il donne une description des termes bien formés, qui sont des séquences de symboles reconnus par le système et pouvant être réécrite à partir de lui. Le lambda calcul, en fait, définit un ensemble de règles de réécriture qui déterminent précisément comment ces termes peuvent être réécrites. De cette façon, le processus de réécriture devient un véritable calcul .
Et pourtant (disponible en anglais seulement):
Les fonctions anonymes peuvent être utilisés pour contenir des fonctionnalités qui n'ont pas à être nommé et, éventuellement, pour usage à court terme. Quelques exemples notables incluent les fermetures et le corroyage. [...]
Les fermetures sont évalués fonctions dans un environnement contenant des variables liées. L'exemple suivant lie la variable «seuil» dans une fonction anonyme qui compare la contribution à ce seuil. [...]
Corroyage est une fonction de transformation à partir de plusieurs entrées à moins d'intrants (dans ce cas de division entière).
Bien que n'étant pas d'existence officielle en PHP une vraie méthode pour gérer les fonctions anonymes, vous pouvez facilement obtenir quelque chose de similaire dans au moins deux façons:
-
l'appel d'une variable avec le nom d'une fonction:
$foo = "phpinfo";
$foo(); -
l'initialisation d'une variable avec le create_function ``:
$sum = create_function('$a, $b','return $a + $b;');
echo $sum(1,2);
Dans le premier cas nous ne faisons que créer un lien vers la fonction. Dans le second cas, nous attribuons la fonction de la variable comme on peut le créer. Seeing is believing: il s'agit d'une inhabituelle et un peu amusant de PHP, mais fortement décourager quiconque d'adopter une solution similaire dans des environnements de production où vous ne voulez pas perdre de vue pratique et la facilité de lecture du code.















12 juin 2008 à 9:56
Bonjour Ivan, j'aide un ami avec son baccalauréat spécialisé en sciences de la communication où l'un des chapitres est le théorème d'incomplétude de Gödel de, qui, je crois que le centre de la lambda calcul. Je dois faire quelque chose qui est un exemple du théorème de Godel, vous pouvez m'aider? Langage de programmation Qualsiai va bien, PHP, qui est assez simple à expliquer à son superviseur. Merci
12 juin 2008 à 15:31
Bonjour, vous n'avez pas signé et votre adresse email ne sera pas comprendre grand-chose en laissant votre nom ...
Il est étrange que vous me faites cette question, parce que l'un de mes obsessions du passé par les chercheurs dans les disciplines dérivées de la sémiotique sont précisément les théorèmes (pour être précis: ils sont 2) Kurt Gödel incomplétude.
Je suis occupé, mais pas trop longtemps pour être en mesure de m'aider à poser maintenant, sont maintenant presque 10 ans maintenant. Mais au moins je peux vous aider à trouver une idée qu'elle représente la version la moins populaire (je pense que c'est plus que suffisant pour une thèse) ou celle contenue dans le livre d'Hofstadter volumineux et célèbre "Gödel, Escher, Bach: d'une guirlande éternelle Braid ". Vous avez bien lu?
Pourquoi avez-vous ajouté un commentaire et n'ont pas écrit directement (peut-être de le formulaire "Contact")?
Aspect de vos nouvelles