<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stefan.Waidele.info &#187; PHP</title>
	<atom:link href="http://stefan.waidele.info/category/tech-stuff/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://stefan.waidele.info</link>
	<description>My virtual press - because the freedom of press is only for those who have one</description>
	<lastBuildDate>Fri, 03 Feb 2012 01:03:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Das Zend Framework ausprobieren</title>
		<link>http://stefan.waidele.info/2009/03/04/das-zend-framework-ausprobieren/</link>
		<comments>http://stefan.waidele.info/2009/03/04/das-zend-framework-ausprobieren/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 02:04:55 +0000</pubDate>
		<dc:creator>Stefan Waidele</dc:creator>
				<category><![CDATA[Offene Tabs]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech-Stuff]]></category>

		<guid isPermaLink="false">http://stefan.waidele.info/?p=1650</guid>
		<description><![CDATA[Angeregt durch einen Artikel von (dem anderen) Robert Basic habe ich heute abend wieder einmal ein wenig programmiert. Wenn man das schon so nennen kann. Ich habe zumindest das Zend-Framework heruntergeladen, und die Beispielanwendung zum Laufen gebracht. Zend basiert auf dem Modell-View-Controller Prinzip, und ist so etwas wie Rails für PHP. Wer also (wie ich) [...]]]></description>
			<content:encoded><![CDATA[<p>Angeregt durch <a href="http://robertbasic.com/blog/online-resources-for-zend-framework/">einen Artikel von (dem anderen) Robert Basic</a> habe ich heute abend wieder einmal ein wenig programmiert. Wenn man das schon so nennen kann. Ich habe zumindest das Zend-Framework heruntergeladen, und die Beispielanwendung zum Laufen gebracht.</p>
<p>Zend basiert auf dem Modell-View-Controller Prinzip, und ist so etwas wie Rails für PHP.</p>
<p>Wer also (wie ich) das Framework einmal antesten möchte, findet im Artikel &#8220;<a title="Permanent Link to Online resources for Zend Framework" rel="bookmark" href="http://robertbasic.com/blog/online-resources-for-zend-framework/">Online resources for Zend Framework</a>&#8221; einige Startpunkte im Web. Ich habe mich auf die folgenden Konzentriert:</p>
<ul>
<li>Das offizielle &#8220;<a href="http://framework.zend.com/docs/quickstart/introduction">QuickStart</a>&#8220;</li>
<li>Die offiziellen <a href="http://framework.zend.com/docs/screencasts">Screencasts</a> &#8211; ich bin aber noch nicht durch</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://stefan.waidele.info/2009/03/04/das-zend-framework-ausprobieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Googling &#8211; und ich dachte Big Brother sei schlimm&#8230;</title>
		<link>http://stefan.waidele.info/2008/07/21/the-googling-und-ich-dachte-big-brother-sei-schlimm/</link>
		<comments>http://stefan.waidele.info/2008/07/21/the-googling-und-ich-dachte-big-brother-sei-schlimm/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 06:21:09 +0000</pubDate>
		<dc:creator>Stefan Waidele</dc:creator>
				<category><![CDATA[Alltagsweisheiten]]></category>
		<category><![CDATA[Azubi-Corner]]></category>
		<category><![CDATA[DAS Tournier]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Opinons]]></category>
		<category><![CDATA[Overhyped Plastic Gadgets]]></category>
		<category><![CDATA[Photo]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Restaurant]]></category>
		<category><![CDATA[Web3.0]]></category>

		<guid isPermaLink="false">http://stefan.waidele.info/?p=748</guid>
		<description><![CDATA[Ja, ich hatte ein wenig Zeit, die ich mit StumbleUpon vernichtet habe. Aber dadurch bin ich auf diesen tollen 4-Teiler bei YouTube gestoßen: The Googling Bzw. hier: Google Maps Google Moon Google My Maps Google SMS]]></description>
			<content:encoded><![CDATA[<p>Ja, ich hatte ein wenig Zeit, die ich mit StumbleUpon vernichtet habe. Aber dadurch bin ich auf diesen tollen 4-Teiler bei YouTube gestoßen: <em>The Googling</em></p>
<p>Bzw. hier:</p>
<ol>
<li><a href="http://www.youtube.com/watch?v=fPgV6-gnQaE">Google Maps</a></li>
<li><a href="http://www.youtube.com/watch?v=lYVLpC_8SQE">Google Moon</a></li>
<li><a href="http://www.youtube.com/watch?v=r0v-4qUod3o">Google My Maps</a></li>
<li><a href="http://www.youtube.com/watch?v=V0LfUhUK678">Google SMS</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://stefan.waidele.info/2008/07/21/the-googling-und-ich-dachte-big-brother-sei-schlimm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kommentare in CSV-Dateien</title>
		<link>http://stefan.waidele.info/2006/03/16/kommentare-in-csv-dateien/</link>
		<comments>http://stefan.waidele.info/2006/03/16/kommentare-in-csv-dateien/#comments</comments>
		<pubDate>Wed, 15 Mar 2006 23:49:03 +0000</pubDate>
		<dc:creator>Stefan Waidele</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech-Stuff]]></category>

		<guid isPermaLink="false">http://stefan.waidele.info/2006/03/16/kommentare-in-csv-dateien/</guid>
		<description><![CDATA[Silke SchÃ¼mann erwÃ¤hnte im Templaterie Blog eine interessante MÃ¶glichkeit: CSV-Datensammlungen sind sehr viel besser zu wareten, wenn am Anfang der Dateien ein Kommentar steht, der Sinn und Verwendungszweck der Daten sowie das Datenformat erklÃ¤rt. Offensichtlich in der Hoffnung, dass andere daraus lernen, beschreibt Silke einen Fehler, der Ihr unterlaufen ist. Sowohl das fehlerhafte, als auch ihr korrigiertes PHP-Skript sind im Templaterie Blog erlÃ¤utert. Da mir die Idee sehr gut gefÃ¤llt, habe ich sie noch ein wenig weiter verfolgt...]]></description>
			<content:encoded><![CDATA[<p>Silke Schümann erwähnte im <a href="http://blog.templaterie.de/160/kleine-php-ueberraschungen-fuer-anfaenger/">Templaterie Blog</a> eine interessante Möglichkeit: CSV-Datensammlungen sind sehr viel besser zu wareten, wenn am Anfang der Dateien ein Kommentar steht, der Sinn und Verwendungszweck der Daten sowie das Datenformat erklärt. Dieser Kommentar ist nur für denjenigen gedacht, der diese Dateien von Hand ändert, oder ein Programm schreibt, das auf diese Daten zugreift. Bei der Auswertung der Daten soll der Kommentar ignoriert werden.</p>
<p>Offensichtlich in der Hoffnung, dass andere daraus lernen, beschreibt Silke einen Fehler, der Ihr unterlaufen ist. Sowohl das fehlerhafte, als auch ihr korrigiertes PHP-Skript sind im  <a href="http://blog.templaterie.de/160/kleine-php-ueberraschungen-fuer-anfaenger/">Templaterie Blog</a> erläutert. Da mir die Idee sehr gut gefällt, habe ich sie noch ein wenig weiter verfolgt:</p>
<p>Die Testdaten sind unter <a target="_blank" href="http://stefan.waidele.info/php-ex/katalogtestdata.csv">http://stefan.waidele.info/php-ex/katalogtestdata.csv</a> einzusehen. Sie entsprechen den Orginaldaten, sind jedpch &#8220;SFW&#8221;. Die Links zu den Skripten öffnen sich in neuen Browserfenstern. Sowohl das Skript als auch die Ausabe desselben sind zu sehen.</p>
<h2>Kommentar überspringen 1: Falscher Ansatz</h2>
<p>Wie Silke bereits feststellen musste, werden die Zeilen der Datei von der ersten bis zur letzten gelesen, auch wenn die Zählervariable im Skript schon viel weiter ist. Das Resultat kann man der Vollständigkeit halber hier sehen: <a target="_blank" href="http://stefan.waidele.info/php-ex/falsch.php">http://stefan.waidele.info/php-ex/falsch.php</a>.<br />
<strong>Vorteil:</strong> Keiner<br />
<strong>Nachteil:</strong> Falsches Ergebniss</p>
<h2><strong>Kommentar überspringen 2: Besserer Ansatz:</strong></h2>
<p>Der Zeilenzähler beginnt bei 0. Vor der Ausgabe wird geprüft, ob man schon an der 10. Zeile vorbei ist. Wenn ja, werden die Daten ausgegeben: <a target="_blank" href="http://stefan.waidele.info/php-ex/besser.php">http://stefan.waidele.info/php-ex/besser.php</a><br />
<strong>Vorteil:</strong> Einfach (?) zu programmieren<br />
<strong>Nachteile:</strong> Performance (Prüfung bei jedem Schleifendurchlauf), Feste Position und Größe des Kommentars, die Bedingung der Abrfrage muss in Abhängigkeit von der Schleifenimplementierung formuliert werden (Startet $row bei 0 oder 1? Inwiefern stimmt diese Zählung mit dem Editor überein? In meinem Beispiel wird ein Datensatz &#8220;irrtümlicherweise&#8217; Ausgelassen)</p>
<p><strong> </strong></p>
<h2>Kommentar überspringen 3: Noch besserer Ansatz:</h2>
<p>Der Kommentar wird in einer seperaten Schleife gelesen. Die Hauptschleife braucht sich nicht mehr um ihn zu kümmern und startet direkt bei den Daten: <a target="_blank" href="http://stefan.waidele.info/php-ex/nochbesser.php">http://stefan.waidele.info/php-ex/nochbesser.php</a><br />
<strong>Vor- und Nachteile:</strong> Wie bei 2, jedoch bessere Performance da weniger Abfragen erfolgen. Die Bedingungen der ersten Schleife (die den Kommentar überspringt) sind besser (weniger fehlerträchtig) zu formulieren.</p>
<h2><strong>Flexible Kommentare: IMO, der beste Ansatz:</strong></h2>
<p>Kommentare werden durch eine Raute gefolgt vom Feldtrenner am Zeilenanfang eingeleitet (hier: &#8220;#|&#8221;). In jeder Zeile wird auf dieses Zeichen geprüft. Es werden nur Daten ausgewertet. Kommentare (und Leerzeilen) werden übersprungen: <a target="_blank" href="http://stefan.waidele.info/php-ex/IMOambesten.php">http://stefan.waidele.info/php-ex/IMOambesten.php</a><br />
<strong>Vorteil:</strong> Flexible, gut lesbare Datensammlungen (wichtig bei manueller Pflege), Sicher zu programmieren (kein &#8216;versehentlicher&#8217; Verlust von Datensätzen)<br />
<strong>Nachteile:</strong> Performance (2 Prüfungen bei jedem Schleifendurchlauf), Ã„nderung der CSV-Datei (wg. anderem Kommentarsyntax, siehe: <a href="http://stefan.waidele.info/php-ex/katalogtestdata2.csv">http://stefan.waidele.info/php-ex/katalogtestdata2.csv</a>)</p>
<h2>Fazit:</h2>
<p>Auch wenn Aufgrund der guten Datenbankunterstützung in PHP die Benutzung selbstverwalteten CSV-Dateien meist nur die zweitbeste Lösung ist, kommt man manchmal nicht um diese herum. Dann ist es wichtig, die Daten möglichst Zukunftssicher und übersichtlich abzulegen. Werden die Dateien vom Benutzer im Editor verändert und somit zahlt sich der (leicht) erhöhte Aufwand beim Programieren auf jeden Fall aus.</p>
<p>Ich finde die Idee, CSV-Dateien mit Kommentaren und Leerzeilen lesbarer zu gestalten ausgesprochen gut. Vielen Dank an Silke Schümann für die Idee!</p>
]]></content:encoded>
			<wfw:commentRss>http://stefan.waidele.info/2006/03/16/kommentare-in-csv-dateien/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

