<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Kommentare zu: Wer auf der Welt braucht tempor&#228;re Funktionen?</title>
	<atom:link href="http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/</link>
	<description>Ein PHP Blog mit aktuellen PHP Informationen und Tricks für Entwickler.</description>
	<pubDate>Sat, 11 Feb 2012 08:43:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>Von: timi</title>
		<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-309</link>
		<dc:creator>timi</dc:creator>
		<pubDate>Fri, 28 Sep 2007 10:02:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-309</guid>
		<description>Danke f&#252;r den wichtigen Hinweis Stefan. Ich werde den Artikel entsprechend erweitern... Wie man nun Callback-Funktionen verpackt und auslagert, ist ebenfalls eine Frage des Stils und nicht zwingend un&#252;bersichtlich.

Wenn man die selbe Sortierfunktion mehrmals ben&#246;tigt, z.B. in einem Framework oder einer Applikation mit mehreren &#228;hnlichen Collections, ist es durch aus sinnvoll ein entsprechendes Helper-Objekt mit entsprechenden statischen Funktionen bereitzustellen.</description>
		<content:encoded><![CDATA[<p>Danke f&#252;r den wichtigen Hinweis Stefan. Ich werde den Artikel entsprechend erweitern&#8230; Wie man nun Callback-Funktionen verpackt und auslagert, ist ebenfalls eine Frage des Stils und nicht zwingend un&#252;bersichtlich.</p>
<p>Wenn man die selbe Sortierfunktion mehrmals ben&#246;tigt, z.B. in einem Framework oder einer Applikation mit mehreren &#228;hnlichen Collections, ist es durch aus sinnvoll ein entsprechendes Helper-Objekt mit entsprechenden statischen Funktionen bereitzustellen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan</title>
		<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-308</link>
		<dc:creator>Stefan</dc:creator>
		<pubDate>Fri, 28 Sep 2007 09:52:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-308</guid>
		<description>Ob man Lamdba-Funktionen n&#252;tzlich findet, ist sicherlich eine Frage des eigenen Programmierstils und der Sprachen, die man neben PHP sonst noch kennt und nutzt. Wer viel mit Perl (und dort mit sort, grep oder map) arbeitet oder mit Python oder gar mit Lisp und Co., f&#252;r den ist der Einsatz von anonymen Funktionen die normalste Sache der Welt. Wer aber vor allem aus der C/C++/Java/PHP-Ecke kommt, der wundert sich, was das soll.
Ich pers&#246;nlich finde den Zwang "richtige" Callback-Funktionen erstellen zu m&#252;ssen, f&#252;r ziemlich st&#246;rend. Die Funktionalit&#228;t in einer Callback-Funktion f&#252;r eine Sortieranweisung geh&#246;rt logisch zur Sortieranweisung - und nicht in eine Funktion, die im Quellcode u.U. weit davon entfernt steht. Ich finde auch nicht, dass anonyme Funktionen schlecht lesbar sind; das ist sicherlich eine Frage der Erfahrung im Umgang damit.
Trotzdem hat create_function() ein Riesenproblem: Das ist nicht die geringere Performance, sondern der Speicherbedarf! Der Garbage Collector kann n&#228;mlich den von create_function() belegten Speicher nicht frei geben. Mehr dazu auf meinem Blog: http://www.fischerlaender.net/php/php-create_function-ist-gefaehrlich</description>
		<content:encoded><![CDATA[<p>Ob man Lamdba-Funktionen n&#252;tzlich findet, ist sicherlich eine Frage des eigenen Programmierstils und der Sprachen, die man neben PHP sonst noch kennt und nutzt. Wer viel mit Perl (und dort mit sort, grep oder map) arbeitet oder mit Python oder gar mit Lisp und Co., f&#252;r den ist der Einsatz von anonymen Funktionen die normalste Sache der Welt. Wer aber vor allem aus der C/C++/Java/PHP-Ecke kommt, der wundert sich, was das soll.<br />
Ich pers&#246;nlich finde den Zwang &#8220;richtige&#8221; Callback-Funktionen erstellen zu m&#252;ssen, f&#252;r ziemlich st&#246;rend. Die Funktionalit&#228;t in einer Callback-Funktion f&#252;r eine Sortieranweisung geh&#246;rt logisch zur Sortieranweisung - und nicht in eine Funktion, die im Quellcode u.U. weit davon entfernt steht. Ich finde auch nicht, dass anonyme Funktionen schlecht lesbar sind; das ist sicherlich eine Frage der Erfahrung im Umgang damit.<br />
Trotzdem hat create_function() ein Riesenproblem: Das ist nicht die geringere Performance, sondern der Speicherbedarf! Der Garbage Collector kann n&#228;mlich den von create_function() belegten Speicher nicht frei geben. Mehr dazu auf meinem Blog: <a href="http://www.fischerlaender.net/php/php-create_function-ist-gefaehrlich" rel="nofollow"></a><a href='http://www.fischerlaender.net/php/php-create_function-ist-gefaehrlich'>http://www.fischerlaender.net/php/php-create_function-ist-gefaehrlich</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Florian</title>
		<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-294</link>
		<dc:creator>Florian</dc:creator>
		<pubDate>Fri, 14 Sep 2007 09:08:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-294</guid>
		<description>Diese Funktion habe ich bisher auch immer gemieden. Allein aus gr&#252;nden der &#220;bersichtlichkeit. Au&#223;erdem befindet sich mittlerweile mein gesamter Code in Klassen, da kann man f&#252;r Callbacks, etc sich schnell eine neue Methode schreiben und wenn man mit Vorlagen arbeitet geht das sogar schneller...</description>
		<content:encoded><![CDATA[<p>Diese Funktion habe ich bisher auch immer gemieden. Allein aus gr&#252;nden der &#220;bersichtlichkeit. Au&#223;erdem befindet sich mittlerweile mein gesamter Code in Klassen, da kann man f&#252;r Callbacks, etc sich schnell eine neue Methode schreiben und wenn man mit Vorlagen arbeitet geht das sogar schneller&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: timi</title>
		<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-293</link>
		<dc:creator>timi</dc:creator>
		<pubDate>Thu, 13 Sep 2007 05:44:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-293</guid>
		<description>@all: Also ganz klar zeigt sich, das tempor&#228;re Funktionen eine deutlich l&#228;ngere Ausf&#252;hrungszeit haben als herk&#246;mmliche Funktionen. Warum, liegt auch auf der Hand: Nicht nur die Ausf&#252;hrung passiert zur Laufzeit, sondern auch die Deklaration - und das ben&#246;tigt Zeit.

Ihr k&#246;nnt ja mal bei Michael schauen, der hat das ganze mit einem rudiment&#228;ren Benchmarktest unter die Lupe genommen...

Prinzipiell sollte man seine Includes sorgsam w&#228;hlen und eben nur einbinden, wenn man sie wirklich ben&#246;tigt. So schont man den Namensraum, den PHP Parser und f&#246;rdert die Performance seiner Applikation.</description>
		<content:encoded><![CDATA[<p>@all: Also ganz klar zeigt sich, das tempor&#228;re Funktionen eine deutlich l&#228;ngere Ausf&#252;hrungszeit haben als herk&#246;mmliche Funktionen. Warum, liegt auch auf der Hand: Nicht nur die Ausf&#252;hrung passiert zur Laufzeit, sondern auch die Deklaration - und das ben&#246;tigt Zeit.</p>
<p>Ihr k&#246;nnt ja mal bei Michael schauen, der hat das ganze mit einem rudiment&#228;ren Benchmarktest unter die Lupe genommen&#8230;</p>
<p>Prinzipiell sollte man seine Includes sorgsam w&#228;hlen und eben nur einbinden, wenn man sie wirklich ben&#246;tigt. So schont man den Namensraum, den PHP Parser und f&#246;rdert die Performance seiner Applikation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Sebastian</title>
		<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-291</link>
		<dc:creator>Sebastian</dc:creator>
		<pubDate>Thu, 13 Sep 2007 02:04:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-291</guid>
		<description>sergey:
   Aber die Faulheit daf&#252;r eine extra Funktion zu schreiben hat in den meisten F&#228;llen gesiegt.
/sergey

die definition mittels create_function ist im grunde diesselbe wie die normaler functions. was also w&#228;re deine faulheit?

----
nein, wie das manual sagt, k&#246;nnten lambda funktionen bei callbacks n&#252;tzlich sein, ganz und g&#228;rlich ohne benchmark verurteilen w&#252;rde ich sie deshalb nicht. 

ohne benchmark w&#252;rde ich sagen, sie sind n&#252;tzlich, wenn die funktion nur in den wenig bis fast garnicht auftretenden f&#228;llen eines codes genutzt wird, weil die funktionen eben nicht immer sondern nur bei diesen f&#228;llen registriert werden...

gru&#223;</description>
		<content:encoded><![CDATA[<p>sergey:<br />
   Aber die Faulheit daf&#252;r eine extra Funktion zu schreiben hat in den meisten F&#228;llen gesiegt.<br />
/sergey</p>
<p>die definition mittels create_function ist im grunde diesselbe wie die normaler functions. was also w&#228;re deine faulheit?</p>
<p>&#8212;-<br />
nein, wie das manual sagt, k&#246;nnten lambda funktionen bei callbacks n&#252;tzlich sein, ganz und g&#228;rlich ohne benchmark verurteilen w&#252;rde ich sie deshalb nicht. </p>
<p>ohne benchmark w&#252;rde ich sagen, sie sind n&#252;tzlich, wenn die funktion nur in den wenig bis fast garnicht auftretenden f&#228;llen eines codes genutzt wird, weil die funktionen eben nicht immer sondern nur bei diesen f&#228;llen registriert werden&#8230;</p>
<p>gru&#223;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Sergej</title>
		<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-289</link>
		<dc:creator>Sergej</dc:creator>
		<pubDate>Wed, 12 Sep 2007 19:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-289</guid>
		<description>Ok, ok, ich bekenne mich schuldig: Ab und an verwende ich tempor&#228;re Funktionen, aber ausschliesslich f&#252;r Sortier- oder Filterans&#228;tze - und das, wo mir die On-the-fly-Generierung der Funktion und damit verbundene Senkung der Performance klar und deutlich ist. Aber die Faulheit daf&#252;r eine extra Funktion zu schreiben hat in den meisten F&#228;llen gesiegt.</description>
		<content:encoded><![CDATA[<p>Ok, ok, ich bekenne mich schuldig: Ab und an verwende ich tempor&#228;re Funktionen, aber ausschliesslich f&#252;r Sortier- oder Filterans&#228;tze - und das, wo mir die On-the-fly-Generierung der Funktion und damit verbundene Senkung der Performance klar und deutlich ist. Aber die Faulheit daf&#252;r eine extra Funktion zu schreiben hat in den meisten F&#228;llen gesiegt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Temoräre Funktionen - michfrms Blog</title>
		<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-287</link>
		<dc:creator>Temoräre Funktionen - michfrms Blog</dc:creator>
		<pubDate>Wed, 12 Sep 2007 13:03:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-287</guid>
		<description>[...] hab gerade diesen Artikel gelesen und mir selbst mal ein paar Gedanken dazu [...]</description>
		<content:encoded><![CDATA[<p>[...] hab gerade diesen Artikel gelesen und mir selbst mal ein paar Gedanken dazu [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: michfrms Blog</title>
		<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-286</link>
		<dc:creator>michfrms Blog</dc:creator>
		<pubDate>Wed, 12 Sep 2007 13:03:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-286</guid>
		<description>&lt;strong&gt;Temor&#228;re Funktionen...&lt;/strong&gt;

Ich hab gerade diesen Artikel gelesen und mir selbst mal ein paar Gedanken dazu gemacht.
Mit der PHP-Funktion create_funktion() lassen sich so genannte Lambda-Funktionen definieren.
Viel kann man mit diesen nicht machen au&#223;er Funktionen mit einem Befe...</description>
		<content:encoded><![CDATA[<p><strong>Temor&#228;re Funktionen&#8230;</strong></p>
<p>Ich hab gerade diesen Artikel gelesen und mir selbst mal ein paar Gedanken dazu gemacht.<br />
Mit der PHP-Funktion create_funktion() lassen sich so genannte Lambda-Funktionen definieren.<br />
Viel kann man mit diesen nicht machen au&#223;er Funktionen mit einem Befe&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: michfrm</title>
		<link>http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-285</link>
		<dc:creator>michfrm</dc:creator>
		<pubDate>Wed, 12 Sep 2007 12:35:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/09/11/wer-auf-der-welt-braucht-temporaere-funktionen/#comment-285</guid>
		<description>Irgendjemand kann das sicher brauchen. ;)
Das Beispiel im PHP.net Manual ist nicht wirklich aufschlussreich, ich hab mich selbst auch schon oft gefragt: Wieso nicht einfach ne richtige Funktion schreiben?</description>
		<content:encoded><![CDATA[<p>Irgendjemand kann das sicher brauchen. ;)<br />
Das Beispiel im PHP.net Manual ist nicht wirklich aufschlussreich, ich hab mich selbst auch schon oft gefragt: Wieso nicht einfach ne richtige Funktion schreiben?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

