Anonyme Funktionen in PHP
12 giugno 2008, 9:09 Open Source , PHP , Tipps & Tricks 12. Juni 2008, 09.09 Uhr
PHP ist eine gute Programmiersprache, wenn wir mit genügend empirische Parameter der Diffusion und der Menge der Funktion, die integriert zu beurteilen.
Oft erweist sich als überraschend flexible Programmierung Szenarien für die Adressierung sehr viel komplexer als einfach nur das Einbetten von Skripten in eine Webseite.
Während eines kürzlichen Meinungsaustausch mit einem Mathematiker gern Open Source hat das Problem der Schaffung von anonymen Funktionen vorgestellt, und - hier liegt der Knackpunkt - nicht innerhalb eines PHP-Klasse. Überspringen Sie die theoretische Geschwätz, das ich hatte, um auf SIP-Lambda-Kalkül und anonyme Funktionen, und ich werde nur hier präsentieren eine Passage von der Definition gegeben durch WikiPedia . Ich zitiere:
Der Lambda-Kalkül ist ein Rewriting-System offiziell von der Mathematiker definiert Alonzo Church . Es wurde entwickelt, um formal die Definitionen der Analyse -Funktionen , ihre Anwendungen und ist auch ein interessantes Werkzeug zur Untersuchung der Phänomene der Rekursion . Als Umschreibesystem, gibt es eine Beschreibung der Bedingungen gut geformt, die die Sequenzen von Symbolen durch das System und können von ihm neu geschrieben werden erkannt werden. Der Lambda-Kalkül, in der Tat, definiert eine Reihe von Regeln, die Umschreibung genau zu bestimmen, wie diese Begriffe geschrieben werden kann. Auf diese Weise wird der Prozess des Neuschreibens eine echte Berechnung .
Und doch (nur auf Englisch verfügbar):
Anonyme Funktionen können verwendet werden, um Funktionalität, die nicht brauchen genannten und ggf. werden für den kurzfristigen Einsatz enthalten. Einige bemerkenswerte Beispiele sind Schließungen und Striegeln. [...]
Closures sind Funktionen in einer Umgebung mit gebundenen Variablen ausgewertet. Im folgenden Beispiel wird die Variable "Schwelle" in einer anonymen Funktion, die die Eingabe Vergleicht an die Schwelle. [...]
Currying ist eine Abbildungsfunktion von mehreren Eingängen zu weniger Eingänge (in diesem Fall Ganzzahldivision).
Obwohl nicht offiziell in PHP gibt es eine echte Methode, um anonyme Funktionen umgehen, können Sie leicht etwas Ähnliches in mindestens zweierlei Hinsicht:
-
Aufrufen einer Variablen mit dem Namen einer Funktion:
$foo = "phpinfo";
$foo(); -
Initialisieren einer Variablen mit dem `` create_function:
$sum = create_function('$a, $b','return $a + $b;');
echo $sum(1,2);
Im ersten Fall sind wir nur die Erstellung eines Links auf die Funktion. Im zweiten Fall ist, weisen wir die Funktion der Variablen, so wie wir es schaffen. Sehen ist glauben: Es ist eine ungewöhnliche und etwas Spaß von PHP, aber dringend davon abgeraten, jemand eine ähnliche Lösung in Produktionsumgebungen, in denen Sie nicht wollen, aus den Augen zu verlieren, Praktikabilität und Einfachheit des Lesens des Codes zu verabschieden.















12. Juni 2008 um 09.56 Uhr
Hallo Ivan, helfe ich einem Freund mit ihrem Abschluss in Kommunikationswissenschaften, wo eines der Kapitel ist der Unvollständigkeitssatz von Gödel, die ich verstehe, dass im Mittelpunkt der Lambda-Kalkül. Ich habe auf etwas, das ein Beispiel für Gödels Satz ist zu machen, können Sie mir helfen? Qualsiai Programmiersprache gut geht, PHP, die einfach genug, um dem Vorgesetzten zu erklären ist. Dank
12. Juni 2008 um 15:31 Uhr
Hallo, Sie haben nicht unterschrieben und Ihre E-Mail-Adresse wird nicht verstehen, viel über das Verlassen Ihres Namens ...
Es ist seltsam, dass Sie mir diese Frage zu tun, weil einer meiner Obsessionen der Vergangenheit von den Forschern in den Disziplinen der Semiotik abgeleitet genau die Theoreme (um genau zu sein: sie sind 2) sind Kurt Gödel Unvollständigkeit.
Ich bin beschäftigt, aber nicht allzu langer Zeit in der Lage sein, mir zu helfen nun fragen, sind nun fast 10 Jahren. Aber zumindest kann ich Ihnen helfen, eine Idee, dass es die am wenigsten beliebte Version (ich denke es ist mehr als genug für eine Diplomarbeit) oder dass in der umfangreichen und berühmten Hofstadter Buch "Gödel, Escher, Bach enthaltenen Informationen stellen: ein Endloses Geflochtenes Band ". Sie lesen?
Warum haben Sie einen Kommentar hinzugefügt haben und nicht direkt (vielleicht aus dem Formular "Kontakt") geschrieben?
Aspekt Ihrer News