<?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>SteviesWebsite Webmaster Blog &#187; php</title>
	<atom:link href="http://blog.stevieswebsite.de/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.stevieswebsite.de</link>
	<description>Entwicklung. Webanalyse. Seo.</description>
	<lastBuildDate>Thu, 29 Jul 2010 16:34:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Urls kürzen mit PHP (Url Shortener APIs)</title>
		<link>http://blog.stevieswebsite.de/2010/01/urls-kurzen-mit-php-url-shortener-apis/</link>
		<comments>http://blog.stevieswebsite.de/2010/01/urls-kurzen-mit-php-url-shortener-apis/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 14:00:13 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Url Shortener]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=3551</guid>
		<description><![CDATA[Jeder der Twitter benutzt kennt sie &#8211; die kurzen Urls. Viele Url Shortener bieten die Möglichkeit Urls über die API zu kürzen. Damit kann man dem User zum Beispiel schon im Artikel eine Kurz-Urlanbieten. Man kann das Ganze auch dazu benutzen, um automatisiert neue Artikel o.Ä. nach Twitter zu posten. Die APIs der Url Shortener [...]]]></description>
			<content:encoded><![CDATA[<p>Jeder der Twitter benutzt kennt sie &#8211; die kurzen Urls. Viele Url Shortener bieten die Möglichkeit Urls über die API zu kürzen. Damit kann man dem User zum Beispiel schon <strong>im Artikel eine Kurz-Url</strong>anbieten. Man kann das Ganze auch dazu benutzen, um automatisiert neue Artikel o.Ä. nach Twitter zu posten.<span id="more-3551"></span></p>
<p>Die APIs der Url Shortener funktionieren<strong> alle nach dem gleichen Prinzip</strong>: Man übergibt die Url als Parameter zu einer Website und man bekommt die Kurz-Url zurück. Beispiel:</p>
<p><a href="http://is.gd/api.php?longurl=http://stevieswebsite.de">http://is.gd/api.php?longurl=http://stevieswebsite.de</a></p>
<p>Wenn man diese Seite besucht bekommt man den folgenden Link:</p>
<p><a href="http://is.gd/5O2ZU">http://is.gd/5O2ZU</a></p>
<p>Also muss man nur die Url zusammensetzen und den Inhalt auslesen. Ich habe mir bereits einige Url Shortener rausgesucht und je eine Funktion gebastelt, mit welcher man die Kurz-Url zurückbekommt.</p>
<p>Dafür muss in der php.ini die Einstellung <strong>allow_url_fopen auf On</strong> geschaltet werden (wenn sie es noch nicht ist).</p>
<p>Hier sind die Funktionen der einzelnen Anbieter (Ich habe extra jeweils eine Funktion gemacht, da man i.d.R. sowieso nur einen Anbieter braucht):</p>
<h3>Bit.ly</h3>
<pre style="color: #000000; background: #ffffff;"><span style="color: #a65700; background: #ffffe8;">&lt;?php</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">function</span><span style="color: #000000; background: #ffffe8;"> shortBitLy</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">""</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">@</span><span style="color: #400000; background: #ffffe8;">fopen</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"http://bit.ly/api?url="</span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #400000; background: #ffffe8;">urlencode</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">"rb"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">if</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">while</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #808030; background: #ffffe8;">!</span><span style="color: #400000; background: #ffffe8;">feof</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">        </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #400000; background: #ffffe8;">fgets</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #008c00; background: #ffffe8;">2000</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #400000; background: #ffffe8;">fclose</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">else</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">throw</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">new</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">Exception</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"Link kann nicht gekürzt werden!"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">return</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #a65700; background: #ffffe8;">?&gt;</span></pre>
<h3>Is.Gd</h3>
<pre style="color: #000000; background: #ffffff;"><span style="color: #a65700; background: #ffffe8;">&lt;?php</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">function</span><span style="color: #000000; background: #ffffe8;">shortIsGd</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">""</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">@</span><span style="color: #400000; background: #ffffe8;">fopen</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"http://is.gd/api.php?longurl="</span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #400000; background: #ffffe8;">urlencode</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">"rb"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">if</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">while</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #808030; background: #ffffe8;">!</span><span style="color: #400000; background: #ffffe8;">feof</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">        </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #400000; background: #ffffe8;">fgets</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #008c00; background: #ffffe8;">2000</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #400000; background: #ffffe8;">fclose</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">else</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">throw</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">new</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">Exception</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"Link kann nicht gekürzt werden!"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">return</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #a65700; background: #ffffe8;">?&gt;</span></pre>
<h3>TinyUrl</h3>
<pre style="color: #000000; background: #ffffff;"><span style="color: #a65700; background: #ffffe8;">&lt;?php</span><span style="color: #000000; background: #ffffe8;"> </span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">function</span><span style="color: #000000; background: #ffffe8;">shortTinyUrl</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">""</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">@</span><span style="color: #400000; background: #ffffe8;">fopen</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"http://tinyurl.com/api-create.php?url="</span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #400000; background: #ffffe8;">urlencode</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">"rb"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">if</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">while</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #808030; background: #ffffe8;">!</span><span style="color: #400000; background: #ffffe8;">feof</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">        </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #400000; background: #ffffe8;">fgets</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #008c00; background: #ffffe8;">2000</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #400000; background: #ffffe8;">fclose</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">else</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">throw</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">new</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">Exception</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"Link kann nicht gekürzt werden!"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">return</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #a65700; background: #ffffe8;">?&gt;</span></pre>
<h3>Krz.ch</h3>
<pre style="color: #000000; background: #ffffff;"><span style="color: #a65700; background: #ffffe8;">&lt;?php</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">function</span><span style="color: #000000; background: #ffffe8;"> shortKrzCh</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">""</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">@</span><span style="color: #400000; background: #ffffe8;">fopen</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"http://krz.ch/?module=ShortURL&amp;file=Add&amp;mode=API&amp;url="</span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #400000; background: #ffffe8;">urlencode</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">"rb"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">if</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">while</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #808030; background: #ffffe8;">!</span><span style="color: #400000; background: #ffffe8;">feof</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">        </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #400000; background: #ffffe8;">fgets</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #008c00; background: #ffffe8;">2000</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #400000; background: #ffffe8;">fclose</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">else</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">throw</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">new</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">Exception</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"Link kann nicht gekürzt werden!"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">return</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #a65700; background: #ffffe8;">?&gt;</span></pre>
<h3>Redir.ec</h3>
<pre style="color: #000000; background: #ffffff;"><span style="color: #a65700; background: #ffffe8;">&lt;?php</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">function</span><span style="color: #000000; background: #ffffe8;"> shortRedirEc</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">""</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">@</span><span style="color: #400000; background: #ffffe8;">fopen</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"http://redir.ec/_api/rest/redirec/create?url="</span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #400000; background: #ffffe8;">urlencode</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">"rb"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">if</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">while</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #808030; background: #ffffe8;">!</span><span style="color: #400000; background: #ffffe8;">feof</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">        </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #400000; background: #ffffe8;">fgets</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #008c00; background: #ffffe8;">2000</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #400000; background: #ffffe8;">fclose</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">else</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">throw</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">new</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">Exception</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"Link kann nicht gekürzt werden!"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">return</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #a65700; background: #ffffe8;">?&gt;</span></pre>
<h3>U.nu</h3>
<pre style="color: #000000; background: #ffffff;"><span style="color: #a65700; background: #ffffe8;">&lt;?php</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">function</span><span style="color: #000000; background: #ffffe8;"> shortUNu</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">""</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">@</span><span style="color: #400000; background: #ffffe8;">fopen</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"http://u.nu/unu-api-simple?url="</span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #400000; background: #ffffe8;">urlencode</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$url</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #0000e6; background: #ffffe8;">"rb"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">if</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">while</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #808030; background: #ffffe8;">!</span><span style="color: #400000; background: #ffffe8;">feof</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">        </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #808030; background: #ffffe8;">.</span><span style="color: #808030; background: #ffffe8;">=</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #400000; background: #ffffe8;">fgets</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">,</span><span style="color: #008c00; background: #ffffe8;">2000</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #400000; background: #ffffe8;">fclose</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #000000; background: #ffffe8;">$handle</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">else</span><span style="color: #800080; background: #ffffe8;">{</span>
<span style="color: #000000; background: #ffffe8;">      </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">throw</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">new</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">Exception</span><span style="color: #808030; background: #ffffe8;">(</span><span style="color: #0000e6; background: #ffffe8;">"Link kann nicht gekürzt werden!"</span><span style="color: #808030; background: #ffffe8;">)</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #000000; background: #ffffe8;">    </span><span style="color: #800000; background: #ffffe8; font-weight: bold;">return</span><span style="color: #000000; background: #ffffe8;"> </span><span style="color: #000000; background: #ffffe8;">$res</span><span style="color: #800080; background: #ffffe8;">;</span>
<span style="color: #000000; background: #ffffe8;">  </span><span style="color: #800080; background: #ffffe8;">}</span>
<span style="color: #a65700; background: #ffffe8;">?&gt;</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2010/01/urls-kurzen-mit-php-url-shortener-apis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Objektorientierung in PHP (Grundlagen)</title>
		<link>http://blog.stevieswebsite.de/2009/10/objektorientierung-in-php-grundlagen/</link>
		<comments>http://blog.stevieswebsite.de/2009/10/objektorientierung-in-php-grundlagen/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 16:13:15 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[oop]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=2693</guid>
		<description><![CDATA[Die PHP-Grundlagen Tutorials auf SteviesWebsite sind ja bereits ein bisschen veraltet, weswegen ich jetzt ab und an ein paar neue Tutorials über die Grundlagen in PHP berichte und diese in Tutorial-Sammlung einbaue. Heute fängt es mit den Grundlagen der Objektorientierung an. In der Programmierung macht es oft Sinn Sachen als Objekte zu verstehen. Macht man [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Die <a title="PHP-Grundlagen Tutorial" href="http://stevieswebsite.de/workshops/php/" target="_self">PHP-Grundlagen Tutorials</a> auf SteviesWebsite sind ja bereits ein bisschen veraltet, weswegen ich jetzt ab und an ein paar neue Tutorials über die Grundlagen in PHP berichte und diese in Tutorial-Sammlung einbaue. Heute fängt es mit den Grundlagen der Objektorientierung an.</p></blockquote>
<p>In der Programmierung macht es oft Sinn Sachen als Objekte zu verstehen. Macht man z.B. eine Community, so könnte User ein eigenes Objekt sein. Alle Funktionen die es zu dem User gibt werden dann in einer Klasse gespeichert. Das hat den Vorteil, dass man bei Änderungen nicht nach den Funktionen suchen muss. Man kann direkt das Objekt ändern.<span id="more-2693"></span></p>
<h3>Was sind Klassen?</h3>
<p>Für alle OOP(Objektorientierung) Neulinge werde ich noch mal kurz erklären was Klassen und Objekte eigentlich sind. Klassen sind so zusagen die Baupläne für die Objekte. Die Klassen müssen wir entwickeln. Außerhalb des Codes der Klasse, werden wir auf Objekte zurückgreifen. Das sind eben nicht nur die Baupläne, sondern zum Beispiel schon das reelle Haus.</p>
<h3>Neue Klasse erstellen</h3>
<p>Am besten nennst Du die PHP-Datei der Klasse so, wie du auch die Klasse selbst nennst. So weist du immer, wo Du sie finden kannst. Ich hab da mal ne Beispiel-Klasse vorbereitet, die ich nachher erläutern werde:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">class</span><span style="color:#000000; background:#ffffe8; "> Auto</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">private</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$bezin</span><span style="color:#800080; background:#ffffe8; ">;</span>

<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">public</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> tanken</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$bezin</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">benzin</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">+</span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$bezin</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800080; background:#ffffe8; ">}</span>

<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">public</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> fahren</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">benzin</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">-</span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#008c00; background:#ffffe8; ">1</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"Brumm Brumm"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800080; background:#ffffe8; ">}</span>

<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">public</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> istBenzinVorhanden</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">return</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">benzin</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#008c00; background:#ffffe8; ">0</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;</span></pre>
<p>Der Name der Klasse ist Auto. Sie hat eine lokale Variable namens $benzin. Diese ist jedoch nur innerhalb der Klasse erreichbar, da sie als private deklaiert wurde.</p>
<p>Dann haben wir noch 3 Funktionen, die alle von außen erreichbar sind. Auf die Variable Benzin greifen wir dort über $this zu. $this steht für das aktuelle Objekt.</p>
<h3>Objekte erstellen</h3>
<p>Super, jetzt haben wir eine Klasse. Nun müssen wir nur noch das Objekt daraus erstellen und es verwenden. Wenn wir schon so ein schönes Auto haben, müssen wir es natürlich auch fahren lassen. Also tanken wir erst und fahren dann so lange, bis der Tank leer ist:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">include</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">"Auto.php"</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#000000; background:#ffffe8; ">$porsche</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">new</span><span style="color:#000000; background:#ffffe8; "> Auto</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#000000; background:#ffffe8; ">$porsche</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; ">tanken</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#008c00; background:#ffffe8; ">50</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">while</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$porsche</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; "> istBenzinVorhanden</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#000000; background:#ffffe8; ">$porsche</span><span style="color:#808030; background:#ffffe8; ">-</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; ">fahren</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;</span></pre>
<p>Ganz oben mussten wir als erstes unsere Klasse importieren. Dann erstellen wir und mit new und dem Klassennamen Auto einen Porsche (Wenn ihr wollt, könnt ihr auch ein anderes nehmen^^). Den müssen wir Tanken. Also rufen wir die $porsche.tanken auf. Schon steht der Benzinstand auf 50. In der While-Schleife prüfen wir dann, ob noch Benzin vorhanden ist und wenn ja fahren wir weiter.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2009/10/objektorientierung-in-php-grundlagen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Gravatar API ansteuern</title>
		<link>http://blog.stevieswebsite.de/2009/09/php-gravatar-api-ansteuern/</link>
		<comments>http://blog.stevieswebsite.de/2009/09/php-gravatar-api-ansteuern/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 15:52:18 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[gravatar]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=2363</guid>
		<description><![CDATA[Gravatar ist ein Dienst, der für ganz viele Mail-Adressen Bilder gespeichert hat, welche man dann auslesen kann. So ist das zum Beispiel auch in WordPress Blogs. Dort wird oft (wie auch bei mir) bei den Usern ein Bild angezeigt. Dieses Bild ist auf Gravatar.com gespeichert und in allen Blogs gleich. Gravatar kann man aber auch [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 130px"><img title="Gravatar monsterid" src="http://www.gravatar.com/avatar/24f0e8b51e475855d75bbe21ae84eac3.jpg?s=120&amp;d=monsterid" alt="" width="120" height="120" /><p class="wp-caption-text">Gravatar monsterid</p></div>
<p><a title="Gravatar" href="http://Gravatar.com">Gravatar</a> ist ein Dienst, der für ganz viele <strong>Mail-Adressen Bilder</strong> gespeichert hat, welche man dann auslesen kann. So ist das zum Beispiel auch in WordPress Blogs. Dort wird oft (wie auch bei mir) bei den Usern ein Bild angezeigt. Dieses Bild ist auf Gravatar.com gespeichert und in allen Blogs gleich.</p>
<p>Gravatar kann man aber auch an anderen Stellen verwenden, um so zum Beispiel in Communities das Profil-Bild automatisch zu setzten.<span id="more-2363"></span></p>
<p>Das ist auch nicht wirklich schwer. Man muss nur die Bild-Adresse herauskriegen und das geht so:</p>
<ol>
<li> Aus der Mail-Adresse einen MD5 Hash erstellen (aus info an stevieswebsite.de wird 20f8e8b51e470855d7bbbe21aa84eec3).</li>
<li>Den Hash so in die Adrese einfügen: <strong>http://www.gravatar.com/avatar/{md5hash}.jpg</strong></li>
</ol>
<p>Nun kann man auch noch die Größe definieren. Dabei übergibt man einfach den Parameter<strong> s</strong> (Anzahl an Pixeln):</p>
<p>http://www.gravatar.com/avatar/20f8e8b51e470855d7bbbe21aa84eec3.jpg?s=100</p>
<p>Wenn nun eine Mail-Adresse doch noch nicht vorhanden ist, kann man mit dem Parameter <strong>d</strong> noch Defaultbilder angeben. Dort gibt es folgendes zur Auswahl:</p>
<ul>
<li>Url des Defaultbildes</li>
<li>identcon (Ich nenn es mal Mosaik-Grafiken)</li>
<li>monsterid  - Bilder von Monstern (die gibt es in diesem Blog)</li>
<li>wavatar &#8211; Komische andere Figuren</li>
<li>404 &#8211; Kein Bild wird geladen</li>
</ul>
<p>In der Überschrift steht schon PHP, also müssen wir es auch verwenden <img src='http://blog.stevieswebsite.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Denn das ganze kann man natürlich schön in einer PHP-Funktion packen. Das sieht dann so aus:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> getGravatarUrl</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$mail</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; ">$size</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; ">$default</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">return</span><span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#0000e6; background:#ffffe8; ">"http://www.gravatar.com/avatar/"</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#400000; background:#ffffe8; ">md5</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$mail</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">".jpg?s="</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; ">$size</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">"&amp;d="</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#400000; background:#ffffe8; ">urlencode</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$default</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;</span></pre>
<p>Und das ist der Aufruf:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"&lt;img src=</span><span style="color:#0f69ff; background:#ffffe8; ">\"</span><span style="color:#0000e6; background:#ffffe8; ">"</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; ">getGravatarUrl</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">"info@stevieswebsite.de"</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#008c00; background:#ffffe8; ">100</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#0000e6; background:#ffffe8; ">"monsterid"</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">"</span><span style="color:#0f69ff; background:#ffffe8; ">\"</span><span style="color:#0000e6; background:#ffffe8; "> /&gt;"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2009/09/php-gravatar-api-ansteuern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quiz: Objektorientierung in PHP (10 Fragen)</title>
		<link>http://blog.stevieswebsite.de/2009/09/quiz-objektorientierung-in-php/</link>
		<comments>http://blog.stevieswebsite.de/2009/09/quiz-objektorientierung-in-php/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 16:39:41 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[Quiz]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[oop php]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=2310</guid>
		<description><![CDATA[Hier sind PHP-Profis gefragt. Stellt euch diesem Quiz und beweist euer Wissen in der Objektorientierung. Ich habe für euch ein paar leichte, aber auch ein paar schwere Fragen erstellt, damit auch jeder ein paar Punkte bekommt Wenn ihr wollt, kann ich bald mal ein paar neue Beiträge über OOP in PHP schreiben. Wie ihr im [...]]]></description>
			<content:encoded><![CDATA[<p>Hier sind PHP-Profis gefragt. Stellt euch diesem Quiz und beweist euer Wissen in der Objektorientierung. Ich habe für euch ein paar leichte, aber auch ein paar schwere Fragen erstellt, damit auch jeder ein paar Punkte bekommt <img src='http://blog.stevieswebsite.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Wenn ihr wollt, kann ich bald mal ein paar neue Beiträge über OOP in PHP schreiben. Wie ihr im Quiz sehen werdet, gibt es dort sehr viele interessante Sachen. Sagt einfach, wo ihr Probleme habt <img src='http://blog.stevieswebsite.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> <span id="more-2310"></span></p>
<p></p>
<div class="quiz-area ">
<form action="" method="post" class="quiz-form" id="quiz-2">
<div class='question' id='question-1'><div class='question-content'>Was macht die Funktion __contruct?</div><br /><input type='hidden' name='question_id[]' value='7' /><input type='radio' name='answer-7' id='answer-id-25' class='answer' value='25' /><label for='answer-id-25'>Durch sie wird ein neues Objekt erstellt.</label><br /><input type='radio' name='answer-7' id='answer-id-26' class='answer' value='26' /><label for='answer-id-26'>Sie wird beim erstellen eines Objekts der Klasse aufgerufen.</label><br /><input type='radio' name='answer-7' id='answer-id-27' class='answer' value='27' /><label for='answer-id-27'>Sie lädt die zur Verfügung stehenden Klassen und Dateien</label><br /><input type='radio' name='answer-7' id='answer-id-28' class='answer' value='28' /><label for='answer-id-28'>Sie gibt die Eigenschaften und Funktionen(die Konstruktion) eines Objekts zurückt</label><br /></div><div class='question' id='question-2'><div class='question-content'>Wie heißt die Funktion, mit welcher nicht gefundene Klassen nachgeladen werden können?</div><br /><input type='hidden' name='question_id[]' value='8' /><input type='radio' name='answer-8' id='answer-id-33' class='answer' value='33' /><label for='answer-id-33'>__stdcall</label><br /><input type='radio' name='answer-8' id='answer-id-34' class='answer' value='34' /><label for='answer-id-34'>__construct</label><br /><input type='radio' name='answer-8' id='answer-id-35' class='answer' value='35' /><label for='answer-id-35'>__autoload</label><br /><input type='radio' name='answer-8' id='answer-id-36' class='answer' value='36' /><label for='answer-id-36'>Die funktion gibt es nicht</label><br /></div><div class='question' id='question-3'><div class='question-content'>Was macht folgender Aufruf: Testklasse::show();?</div><br /><input type='hidden' name='question_id[]' value='9' /><input type='radio' name='answer-9' id='answer-id-67' class='answer' value='67' /><label for='answer-id-67'>Der Aufruf führt die Funktion show auf und erstellt ein Objekt der Klasse Testklasse.</label><br /><input type='radio' name='answer-9' id='answer-id-68' class='answer' value='68' /><label for='answer-id-68'>Der Aufruf führt die Funktion show auf, ohne ein Objekt der Klasse Testklasse zu erstellen.</label><br /><input type='radio' name='answer-9' id='answer-id-69' class='answer' value='69' /><label for='answer-id-69'>Er zeigt den Aufbau der Klasse an, so wie print_r. Show ist in jedem Objekt vorhanden.</label><br /><input type='radio' name='answer-9' id='answer-id-70' class='answer' value='70' /><label for='answer-id-70'>Er produziert einen fatalen Fehler.</label><br /></div><div class='question' id='question-4'><div class='question-content'>Was machen Interfaces bei der OOP?</div><br /><input type='hidden' name='question_id[]' value='10' /><input type='radio' name='answer-10' id='answer-id-83' class='answer' value='83' /><label for='answer-id-83'>Sie beschreiben, welche Methoden uin eine Klasse implementiert werden sollen.</label><br /><input type='radio' name='answer-10' id='answer-id-84' class='answer' value='84' /><label for='answer-id-84'>Interfaces sind Schnittstellen, um Klassen und Objekte in andere Programme zu bringen / zu holen</label><br /><input type='radio' name='answer-10' id='answer-id-85' class='answer' value='85' /><label for='answer-id-85'>Jedes Objekt hat ein Interface, mit welchen man bestimmte Eigenschaften eines anderen Objektes setzen kann</label><br /><input type='radio' name='answer-10' id='answer-id-86' class='answer' value='86' /><label for='answer-id-86'>Interfaces ist nur ein anderer Begriff für Klassen.</label><br /></div><div class='question' id='question-5'><div class='question-content'>Wie kopiert man Objekte? Wir wollen aus $obj2 das gleiche, aber nicht das selbe Objekt machen wie $obj1.</div><br /><input type='hidden' name='question_id[]' value='11' /><input type='radio' name='answer-11' id='answer-id-43' class='answer' value='43' /><label for='answer-id-43'>$obj2 = $obj2;</label><br /><input type='radio' name='answer-11' id='answer-id-44' class='answer' value='44' /><label for='answer-id-44'>$obj2 = clone $obj1;</label><br /><input type='radio' name='answer-11' id='answer-id-45' class='answer' value='45' /><label for='answer-id-45'>$obj2 = $obj1->clone();</label><br /><input type='radio' name='answer-11' id='answer-id-46' class='answer' value='46' /><label for='answer-id-46'>$cloner = new MyCloneable();
$obj2 = $cloner.clone($obj1);</label><br /></div><div class='question' id='question-6'><div class='question-content'>Was ist ein Destruktor?</div><br /><input type='hidden' name='question_id[]' value='12' /><input type='radio' name='answer-12' id='answer-id-91' class='answer' value='91' /><label for='answer-id-91'>Eine Funktion in einer Klasse, die aufgerufen wird, wenn das Objekt zerstört wird.</label><br /><input type='radio' name='answer-12' id='answer-id-92' class='answer' value='92' /><label for='answer-id-92'>Eine Klasse, mit welcher man Objekte zerstören kann.</label><br /><input type='radio' name='answer-12' id='answer-id-93' class='answer' value='93' /><label for='answer-id-93'>So nennt man die Funktion __construct()</label><br /><input type='radio' name='answer-12' id='answer-id-94' class='answer' value='94' /><label for='answer-id-94'>Mit ihm kann man einem Objekt eine andere Struktur(also Klasse) zuweisen.</label><br /></div><div class='question' id='question-7'><div class='question-content'>Wie kann man in PHP-Objekten neue Eigenschaften während der Laufzeit hinzufügen?</div><br /><input type='hidden' name='question_id[]' value='13' /><input type='radio' name='answer-13' id='answer-id-51' class='answer' value='51' /><label for='answer-id-51'>Man kann dem Objekt ohne etwas zu machen neue Eigenschaften hinzufügen. So ist es doch bei Arrays auch. Also $obj->neueEigenschaft = '';</label><br /><input type='radio' name='answer-13' id='answer-id-52' class='answer' value='52' /><label for='answer-id-52'>Das geht nicht.</label><br /><input type='radio' name='answer-13' id='answer-id-53' class='answer' value='53' /><label for='answer-id-53'>Über die Methode _set.</label><br /><input type='radio' name='answer-13' id='answer-id-54' class='answer' value='54' /><label for='answer-id-54'>Die werden dem Konstruktor übergeben.</label><br /></div><div class='question' id='question-8'><div class='question-content'>Wie überprüft man mit OOP in PHP, ob es sich um das gleiche Objekt handelt?</div><br /><input type='hidden' name='question_id[]' value='14' /><input type='radio' name='answer-14' id='answer-id-87' class='answer' value='87' /><label for='answer-id-87'>Mit === oder ==.</label><br /><input type='radio' name='answer-14' id='answer-id-88' class='answer' value='88' /><label for='answer-id-88'>Mit der Funktion equals().</label><br /><input type='radio' name='answer-14' id='answer-id-89' class='answer' value='89' /><label for='answer-id-89'>Mit Is</label><br /><input type='radio' name='answer-14' id='answer-id-90' class='answer' value='90' /><label for='answer-id-90'>Man durchläuft die Eigenschaften mit einer Schleife und vergleicht dann jede Eigenschaft einzelnd</label><br /></div><div class='question' id='question-9'><div class='question-content'>Von wo aus kann eine Eigenschaft zugegriffen werden, die als protected deklariert ist?</div><br /><input type='hidden' name='question_id[]' value='15' /><input type='radio' name='answer-15' id='answer-id-75' class='answer' value='75' /><label for='answer-id-75'>Nur von derselben Klasse.</label><br /><input type='radio' name='answer-15' id='answer-id-76' class='answer' value='76' /><label for='answer-id-76'>Von derselben oder abgeleiteten Klassen.</label><br /><input type='radio' name='answer-15' id='answer-id-77' class='answer' value='77' /><label for='answer-id-77'>Von Überall</label><br /><input type='radio' name='answer-15' id='answer-id-78' class='answer' value='78' /><label for='answer-id-78'>Von Überall, jedoch ist von Außen nur das auslesen mgöoch.</label><br /></div><div class='question' id='question-10'><div class='question-content'>Was macht das Schlüsselwort final?</div><br /><input type='hidden' name='question_id[]' value='16' /><input type='radio' name='answer-16' id='answer-id-79' class='answer' value='79' /><label for='answer-id-79'>Die Eigenschaften sind Schreibgeschützt.</label><br /><input type='radio' name='answer-16' id='answer-id-80' class='answer' value='80' /><label for='answer-id-80'>Die Funktion kann bei abgeleiteten Klassen nicht überladen, aber überschrieben werden.</label><br /><input type='radio' name='answer-16' id='answer-id-81' class='answer' value='81' /><label for='answer-id-81'>Abgeleitete Klassen können diese Eigenschaft / Methode nicht überschreiben.</label><br /><input type='radio' name='answer-16' id='answer-id-82' class='answer' value='82' /><label for='answer-id-82'>Abgeleitete Klassen können diese Eigenschaft / Methode / Klassen nicht überschreiben.</label><br /></div><br />
<input type="button" id="next-question" value="Next &gt;"  /><br />

<input type="submit" name="action" id="action-button" value="Show Results"  />
<input type="hidden" name="quiz_id" value="2" />
</form>
</div>
<p>Viel Erfolg!
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2009/09/quiz-objektorientierung-in-php/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>YouTube API &#8211; Videos suchen mit PHP</title>
		<link>http://blog.stevieswebsite.de/2009/09/youtube-api-videos-suchen/</link>
		<comments>http://blog.stevieswebsite.de/2009/09/youtube-api-videos-suchen/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 16:58:08 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[videos suchen]]></category>
		<category><![CDATA[youtube api]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=2274</guid>
		<description><![CDATA[Die YouTube API baut hauptsächlich auf Feeds aus. Wir werden uns heute darum kümmern, ein Video mithilfe von PHP über die API zu finden. Damit wir diese auch später verwenden können bauen wir eine schöne Funktion damit. Darin können wir natürlich den Suchbegriff eingeben. Weitere Parameter sind die Sortierung, der Start-Index und die Anzahl der [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_2276" class="wp-caption alignleft" style="width: 133px"><a href="http://blog.stevieswebsite.de/wp-content/uploads/2009/09/logo.gif"><img class="size-full wp-image-2276" title="YouTube API" src="http://blog.stevieswebsite.de/wp-content/uploads/2009/09/logo.gif" alt="YouTube API" width="123" height="63" /></a><p class="wp-caption-text">YouTube API</p></div>
<p>Die <a title="YouTube API" href="http://code.google.com/intl/de/apis/youtube/2.0/developers_guide_protocol.html" target="_self">YouTube API</a> baut hauptsächlich auf Feeds aus. Wir werden uns heute darum kümmern, ein Video mithilfe von PHP über die API zu finden.</p>
<p>Damit wir diese auch später verwenden können bauen wir eine schöne Funktion damit. Darin können wir natürlich den <strong>Suchbegriff</strong> eingeben. Weitere Parameter sind die <strong>Sortierung</strong>, der <strong>Start-Index</strong> und die <strong>Anzahl der Elemente</strong>.<span id="more-2274"></span></p>
<p>Bedingung dafür, dass das ganze Funktioniert ist, dass man vom Webspace externe Dateien laden kann. Dieses ist aus Sicherheitsgründen bei manchen Webspace-Anbietern<strong> (standardmäßig) ausgeschaltet</strong>. Ich hab das ganze auf <a title="meinem Testsystem" href="http://blog.stevieswebsite.de/2009/08/virtuellen-server-erstellen-mit-virtualbox/" target="_self">meinem Testsystem</a> gemacht (deswegen kann ich euch auch keine Testseite zur Verfügung stellen).</p>
<p>Über <strong>simplexml_load_file</strong> laden wir uns das Feed (was wie wir wissen aus XML besteht) . Danach suchen wir uns da die videos raus und geben sie zurück. Das sieht dann so aus:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?php</span>
<span style="color:#800000; background:#ffffe8; font-weight:bold; ">  function</span><span style="color:#000000; background:#ffffe8; "> getYouTubeVideos</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$search</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; ">$orderby</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; ">$start</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; ">$count</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#000000; background:#ffffe8; ">$search</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#400000; background:#ffffe8; ">urlencode</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$search</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#000000; background:#ffffe8; ">$orderby</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#400000; background:#ffffe8; ">urlencode</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$orderby</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#000000; background:#ffffe8; ">$xml</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#400000; background:#ffffe8; ">simplexml_load_file</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">'http://gdata.youtube.com/feeds/api/videos?q='</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; ">$search</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">'&amp;orderby='</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; ">$orderby</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">'&amp;start-index='</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; ">$start</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">'&amp;max-results='</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; ">$count</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">'&amp;v=2'</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">foreach</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$xml</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">entry</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">as</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#000000; background:#ffffe8; ">$res</span><span style="color:#808030; background:#ffffe8; ">[</span><span style="color:#808030; background:#ffffe8; ">]</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">return</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$res</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;</span></pre>
<p>Die einzelnen Videos bauen noch auf XML auf, so dass man dort die passenden Einträge auslesen muss. Am besten sieht man den Aufbau, wenn man folgende Schleife macht:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?php</span>
<span style="color:#800000; background:#ffffe8; font-weight:bold; ">foreach</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">getYouTubeVideos</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">"Video"</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#0000e6; background:#ffffe8; ">"published"</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#008c00; background:#ffffe8; ">1</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#008c00; background:#ffffe8; ">10</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">as</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#400000; background:#ffffe8; ">print_r</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;</span></pre>
<p>Die wichtigsten Einträge sind wohl der Titel und der Link zu YouTube. Ich habe außerdem noch den Autor, das Veröfftlichs- und Änderungsdatum ausgelesen. Das sieht dann so aus:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">foreach</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">getYouTubeVideos</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">"Video"</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#0000e6; background:#ffffe8; ">"published"</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#008c00; background:#ffffe8; ">1</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#008c00; background:#ffffe8; ">10</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">as</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#a65700; background:#ffffe8; ">?&gt;</span>
<span style="color:#000000; background:#ffffff; ">    </span><span style="color:#a65700; background:#ffffff; ">&lt;</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">h2</span><span style="color:#a65700; background:#ffffff; ">&gt;</span>
<span style="color:#000000; background:#ffffff; ">      </span><span style="color:#a65700; background:#ffffff; ">&lt;</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">a</span><span style="color:#274796; background:#ffffff; "> </span><span style="color:#074726; background:#ffffff; ">href</span><span style="color:#808030; background:#ffffff; ">=</span><span style="color:#0000e6; background:#ffffff; ">"</span><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">link</span><span style="color:#808030; background:#ffffe8; ">[</span><span style="color:#0000e6; background:#ffffe8; ">'href'</span><span style="color:#808030; background:#ffffe8; ">]</span><span style="color:#800080; background:#ffffe8; ">;</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#a65700; background:#ffffe8; ">?&gt;</span><span style="color:#0000e6; background:#ffffff; ">"</span><span style="color:#a65700; background:#ffffff; ">&gt;</span>
<span style="color:#000000; background:#ffffff; ">        </span><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">title</span><span style="color:#800080; background:#ffffe8; ">;</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#a65700; background:#ffffe8; ">?&gt;</span>
<span style="color:#000000; background:#ffffff; ">      </span><span style="color:#a65700; background:#ffffff; ">&lt;/</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">a</span><span style="color:#a65700; background:#ffffff; ">&gt;</span>
<span style="color:#000000; background:#ffffff; ">    </span><span style="color:#a65700; background:#ffffff; ">&lt;/</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">h2</span><span style="color:#a65700; background:#ffffff; ">&gt;</span>
<span style="color:#000000; background:#ffffff; ">    </span><span style="color:#a65700; background:#ffffff; ">&lt;</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">p</span><span style="color:#a65700; background:#ffffff; ">&gt;</span><span style="color:#000000; background:#ffffff; ">Ver</span><span style="color:#074726; background:#ffffff; ">&amp;</span><span style="color:#074726; background:#ffffff; ">ouml</span><span style="color:#074726; background:#ffffff; ">;</span><span style="color:#000000; background:#ffffff; ">ffentlicht: </span>
<span style="color:#000000; background:#ffffff; ">      </span><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">published</span><span style="color:#800080; background:#ffffe8; ">;</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#a65700; background:#ffffe8; ">?&gt;</span>
<span style="color:#000000; background:#ffffff; ">    </span><span style="color:#a65700; background:#ffffff; ">&lt;/</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">p</span><span style="color:#a65700; background:#ffffff; ">&gt;</span>
<span style="color:#000000; background:#ffffff; ">    </span><span style="color:#a65700; background:#ffffff; ">&lt;</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">p</span><span style="color:#a65700; background:#ffffff; ">&gt;</span><span style="color:#000000; background:#ffffff; ">Ge</span><span style="color:#074726; background:#ffffff; ">&amp;</span><span style="color:#074726; background:#ffffff; ">auml</span><span style="color:#074726; background:#ffffff; ">;</span><span style="color:#000000; background:#ffffff; ">ndert: </span>
<span style="color:#000000; background:#ffffff; ">      </span><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">updated</span><span style="color:#800080; background:#ffffe8; ">;</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#a65700; background:#ffffe8; ">?&gt;</span>
<span style="color:#000000; background:#ffffff; ">    </span><span style="color:#a65700; background:#ffffff; ">&lt;/</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">p</span><span style="color:#a65700; background:#ffffff; ">&gt;</span>
<span style="color:#000000; background:#ffffff; ">    </span><span style="color:#a65700; background:#ffffff; ">&lt;</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">p</span><span style="color:#a65700; background:#ffffff; ">&gt;</span><span style="color:#000000; background:#ffffff; ">Autor: </span>
<span style="color:#000000; background:#ffffff; ">      </span><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$video</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">author</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">name</span><span style="color:#800080; background:#ffffe8; ">;</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#a65700; background:#ffffe8; ">?&gt;</span>
<span style="color:#000000; background:#ffffff; ">    </span><span style="color:#a65700; background:#ffffff; ">&lt;/</span><span style="color:#800000; background:#ffffff; font-weight:bold; ">p</span><span style="color:#a65700; background:#ffffff; ">&gt;</span>
<span style="color:#000000; background:#ffffff; ">    </span><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;</span></pre>
<h3>Verwandte Themen in anderen Blogs</h3>
<ul>
<li><a title="Import von YouTube Favoriten per PHP API (phpjunkie.de)" href="http://www.phpjunkie.de/phpprogrammierung/import-von-youtube-favoriten-per-php-api/" target="_self">Import von YouTube Favoriten per PHP API (phpjunkie.de)</a></li>
<li><a title="YouTube API, Teil 1: Einführung in die YouTube API für Flash (video-flash.de)" href="http://www.video-flash.de/index/youtube-api-teil-1-einfuhrung-in-die-youtube-api-fur-flash/" target="_self">YouTube API, Teil 1: Einführung in die YouTube API für Flash (video-flash.de)</a></li>
<li><a title="YouTube Api mit PHP (seo24.at)" href="http://www.seo24.at/youtube-api-mit-php/" target="_self">YouTube Api mit PHP (seo24.at)</a></li>
<li><a title="Youtube API (ecw.de)" href="http://wap.ecw.de/archives/580" target="_self">Youtube API (ecw.de)</a></li>
<li><a title="Youtube API Python Beispiel (codecocktail.wordpress.com)" href="http://codecocktail.wordpress.com/2008/10/01/youtube-api-python-beispiel/" target="_self">Youtube API Python Beispiel (codecocktail.wordpress.com)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2009/09/youtube-api-videos-suchen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Exceptions in PHP werfen / abfangen</title>
		<link>http://blog.stevieswebsite.de/2009/08/exceptions-in-php-werfen-abfangen/</link>
		<comments>http://blog.stevieswebsite.de/2009/08/exceptions-in-php-werfen-abfangen/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 10:22:34 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[php exceptions]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=2214</guid>
		<description><![CDATA[Exceptions sind Ausnahmen bzw. Fehler in einer Anwendung. Wenn bei PHP ein Fehler auftritt, wird meistens mit die das ganze Script abgebrochen. Sinnvolle Fehlermeldung für den Benutzer ist das Fehlanzeige. Mit Exceptions können wir selbst Fehler werfen und Abfangen. Als kleines Beispiel erstellen wir nun ein Script, in welchen eine Funktion ist, die uns einfach [...]]]></description>
			<content:encoded><![CDATA[<p>Exceptions sind Ausnahmen bzw. Fehler in einer Anwendung. Wenn bei PHP ein Fehler auftritt, wird meistens mit die das ganze Script abgebrochen. Sinnvolle Fehlermeldung für den Benutzer ist das Fehlanzeige. Mit Exceptions können wir selbst <strong>Fehler werfen</strong> und Abfangen.</p>
<p>Als kleines Beispiel erstellen wir nun ein Script, in welchen eine Funktion ist, die uns einfach nur das übergebene Argument ausgibt. Wurde nichts (false) oder ein Leerstring übergeben, werfen wir eine Exception und geben sie aus:<span id="more-2214"></span></p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?php</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> echoString</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$input</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">if</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">!</span><span style="color:#000000; background:#ffffe8; ">$input</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">or</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$input</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">""</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">throw</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">new</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">Exception</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">'Es wurde kein Element übergeben!'</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">else</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$input</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">"&lt;br /&gt;"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>

<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">try</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    echoString</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">"Das wird noch ausgegeben"</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    echoString</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">""</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">catch</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">Exception</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$ex</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"&lt;strong&gt;Fehler&lt;/strong&gt;: "</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#000000; background:#ffffe8; ">$ex</span><span style="color:#808030; background:#ffffe8; ">-</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; ">getMessage</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">"&lt;br /&gt;"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>

<span style="color:#800000; background:#ffffe8; font-weight:bold; ">  echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"Das wird wieder ausgegeben"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;
</span></pre>
<p>Das ganze erzeugt folgende Ausgabe:</p>
<blockquote><p>Das wird noch ausgegeben<br />
Fehler: Es wurde kein Element übergeben!<br />
Das wird wieder ausgegeben</p></blockquote>
<p>Mit Throws new Exception wirft man eine Exception. Als Parameter wird die Fehlerbeschreibung übergeben. Wenn die Funktion in einem Try-Carch Block abgerufen wird, wird beim Fehler ins Catch gesprungen. Hier ist in $ex der Fehler gespeichert. Mit getMessage kann man die Meldung auslesen.</p>
<p>Meiner Meinung nach sind exceptions besser als die. Denn hier kann man bei einem Fehler direkt darauf reagieren. Man könnte so zum Beispiel die Fehlermeldung direkt per Mail an den Admin schicken. Beim die bricht das ganze sofort ab.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2009/08/exceptions-in-php-werfen-abfangen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugins erstellen für den WordPress Admin Bereich</title>
		<link>http://blog.stevieswebsite.de/2009/08/plugins-erstellen-fur-den-wordpress-admin-bereich/</link>
		<comments>http://blog.stevieswebsite.de/2009/08/plugins-erstellen-fur-den-wordpress-admin-bereich/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 12:12:57 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[plugins wordpress admin]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=2185</guid>
		<description><![CDATA[Plugins für den WordPress Admin Bereich sind eine schöne Sache. Also hab ich mich mal entschlossen ein kleines Tutorial dafür zu schreiben. Dieses Tutorial ist nun mein Gastartikel auf Blogprojekt.de. Ich werde demnächst evtl. auch noch ein weiteres Tutorial zur WordPress Plugin Entwicklung erstellen, worüber genau, muss ich mir allerdings noch ausdenken. Zum Tutorial auf [...]]]></description>
			<content:encoded><![CDATA[<p>Plugins für den WordPress Admin Bereich sind eine schöne Sache. Also hab ich mich mal entschlossen ein kleines Tutorial dafür zu schreiben.</p>
<p>Dieses Tutorial ist nun mein Gastartikel auf Blogprojekt.de.</p>
<p>Ich werde demnächst evtl. auch noch ein weiteres Tutorial zur WordPress Plugin Entwicklung erstellen, worüber genau, muss ich mir allerdings noch ausdenken.</p>
<p><a title="Zum Tutorial auf Blogprojekt.de" href="http://www.blogprojekt.de/2009/08/18/wordpress-plugins/plugins-erstellen-fuer-den-wordpress-admin-bereich/" target="_self">Zum Tutorial auf Blogprojekt.de </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2009/08/plugins-erstellen-fur-den-wordpress-admin-bereich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSV Import in PHP</title>
		<link>http://blog.stevieswebsite.de/2009/08/csv-import-in-php/</link>
		<comments>http://blog.stevieswebsite.de/2009/08/csv-import-in-php/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 16:59:51 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[csv import]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=2149</guid>
		<description><![CDATA[CSV ist eine sehr beliebte Art, um Daten über eine Schnittstelle zu transportieren. Eine CSV-Datei ist so aufgebaut wie eine Tabelle. Die Formatierung der Tabelle ist so: In der ersten Zeile ist meistens der Header. Jede Spalte ist getrennt von einem Semikolon. In den weiteren Zeilen stehen dann wiederum die Daten, auch mit einem Semikolon [...]]]></description>
			<content:encoded><![CDATA[<p><a title="CSV" href="http://de.wikipedia.org/wiki/CSV_(Dateiformat)" target="_self">CSV</a> ist eine sehr beliebte Art, um Daten über eine Schnittstelle zu transportieren. Eine CSV-Datei ist so aufgebaut wie eine Tabelle. Die Formatierung der Tabelle ist so:</p>
<p>In der ersten Zeile ist meistens der Header. Jede Spalte ist getrennt von einem Semikolon.</p>
<p>In den weiteren Zeilen stehen dann wiederum die Daten, auch mit einem Semikolon getrennt.</p>
<p>Heute hab ich vor mit euch zu zeigen, wie man eine Klasse in PHP erstellt, um die Daten der Datei als Array auszulesen.<span id="more-2149"></span></p>
<p>Dazu erstellen wir als erstes Mal die CSV-Datei. Ich habe dort mal drei Spalten und drei Zeilen angelegt. Die Datei wird passend zum Testen test.csv genannt:</p>
<blockquote><p>ID;Alias;Titel<br />
1;testseite;Titel<br />
2;testseite;Titel 2<br />
3;testseite;Titel 3</p>
</blockquote>
<p>Nun kommen wir zum PHP Bereich. Dort haben wir 2 Dateien. Eine ist die Klasse selbst und in einer anderen geben wir die Daten zum Testen in einer HTML-Tabelle aus. Fangen wir mal mit der eigentlichen Klasse an. Die Datei davon heißt Csv2Array.php.</p>
<p>Sie hat die folgenden Eigenschaften:</p>
<ul>
<li><strong>$file: </strong>Gibt den Pfad der CSV-Datei an. (public)</li>
<li><strong>$header:</strong> Gibt die Namen der Spalten wieder. (pubilc)</li>
<li><strong>$lines</strong>: Speichert die Zeilen der CSV-Datei (private)</li>
<li><strong>$position:</strong> Speichert die aktuelle Zeilenposition (private)</li>
</ul>
<p>Außerdem gibt es noch die folgenden Methoden:</p>
<ul>
<li><strong> __construct:</strong> Konstruktor für die Datei. Diese liest die Zeilen aus und bestimmt den Header und setzt die Position auf 1. (public)</li>
<li><strong>readHeader:</strong> Diese Zeil speichert den Header in die $header Variable. (private)</li>
<li><strong>getNextRow:</strong> Die Funktion liefert die nächste Zeile der CSV Datei zurück (public)</li>
<li><strong>readLines:</strong> Speichert die Zeilen in $lines. (private)</li>
</ul>
<p>Fangen wir mal mit dem puren Grundgerüst an:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#800000; background:#ffffe8; font-weight:bold; ">&lt;?PHP
class</span><span style="color:#000000; background:#ffffe8; "> Csv2Array</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">public</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$file</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">public</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$header</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">private</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$lines</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">private</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$position</span><span style="color:#800080; background:#ffffe8; ">;</span>

<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#400000; background:#ffffe8; ">__construct</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$file</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>

<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">private</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> readHeader</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>

<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">public</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> getNextRow</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>

<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">private</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> readLines</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;</span></pre>
<p>Weiter geht&#8217;s mit der __construct Methode. Für alle die nicht wissen, was das ist: Diese Methode wird immer aufgerufen, wenn ein neues Objekt der Klasse erstellt wird. In der Methode wird das $file und die $position gespeichert und 2 Methoden aufgerufen:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#400000; background:#ffffe8; ">__construct</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$file</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">file</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$file</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; ">readLines</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; ">readHeader</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">position</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#008c00; background:#ffffe8; ">1</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span></pre>
<p>Weiter geht&#8217;s mit der internen Methode readLines. Sie liest ganz simpel die Zeilen mit der file Funktion aus:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#800000; background:#ffffe8; font-weight:bold; ">  if</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$handle</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#400000; background:#ffffe8; ">fopen</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">file</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"r"</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">lines</span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#400000; background:#ffffe8; ">file</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">file</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">return</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">true</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">else</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">return</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">false</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800080; background:#ffffe8; ">}</span></pre>
<p>Nun kommen wir zum Header. Hier muss die erste Zeile mit einem Semikolon gesplittet werden:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#800000; background:#ffffe8; font-weight:bold; ">  private</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> readHeader</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">header</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#bb7977; background:#ffffe8; font-weight:bold; ">split</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">';'</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">lines</span><span style="color:#808030; background:#ffffe8; ">[</span><span style="color:#008c00; background:#ffffe8; ">0</span><span style="color:#808030; background:#ffffe8; ">]</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span></pre>
<p>Die schwierigste Methode von alles gibt die nächste Zeile zurück. Sie liefert das Array zurück, wenn eine Zeile vorhanden ist und false wenn nicht. So können wir das ganze später in einer While-Schleife durchlaufen. Ist die Zeile vorhanden, wird wie beim Header wieder die Zeile gesplittet.</p>
<p>Nun müssen wir den Header durchlaufen und in die jeweilige Spalte den Wert eintragen. Danach müssen wir noch die Zeilenposition hochsetzen und das Array zurückgeben:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">public</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">function</span><span style="color:#000000; background:#ffffe8; "> getNextRow</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">if</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">lines</span><span style="color:#808030; background:#ffffe8; ">[</span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">position</span><span style="color:#808030; background:#ffffe8; ">]</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#000000; background:#ffffe8; ">$line</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#bb7977; background:#ffffe8; font-weight:bold; ">split</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">';'</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">lines</span><span style="color:#808030; background:#ffffe8; ">[</span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">position</span><span style="color:#808030; background:#ffffe8; ">]</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#000000; background:#ffffe8; ">$columnposition</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#008c00; background:#ffffe8; ">0</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">foreach</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">header</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">as</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$column</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">        </span><span style="color:#000000; background:#ffffe8; ">$res</span><span style="color:#808030; background:#ffffe8; ">[</span><span style="color:#000000; background:#ffffe8; ">$column</span><span style="color:#808030; background:#ffffe8; ">]</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$line</span><span style="color:#808030; background:#ffffe8; ">[</span><span style="color:#000000; background:#ffffe8; ">$columnposition</span><span style="color:#808030; background:#ffffe8; ">]</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">        </span><span style="color:#000000; background:#ffffe8; ">$columnposition</span><span style="color:#808030; background:#ffffe8; ">+</span><span style="color:#808030; background:#ffffe8; ">+</span><span style="color:#800080; background:#ffffe8; ">;</span><span style="color:#000000; background:#ffffe8; "> </span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#000000; background:#ffffe8; ">$</span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">this</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">position</span><span style="color:#808030; background:#ffffe8; ">+</span><span style="color:#808030; background:#ffffe8; ">+</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">return</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$res</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800080; background:#ffffe8; ">}</span></pre>
<p>Die Klasse an sich ist soweit fertig. Nun muss ich euch noch davon überzeugen, dass sie auch funktioniert <img src='http://blog.stevieswebsite.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Dazu hab ich die Datei Csv2Array.test.php erstellt. Hier wird die test.csv von oben ausgelesen und in einer Tabelle ausgegeben. Auf das HTML Grundgerüst hab ich heut mal verzichtet^^:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">include</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">'Csv2Array.php'</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#000000; background:#ffffe8; ">$csv2array</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">new</span><span style="color:#000000; background:#ffffe8; "> Csv2Array</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">"test.csv"</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#a65700; background:#ffffe8; ">?&gt;</span>
<span style="color:#a65700; ">&lt;</span><span style="color:#800000; font-weight:bold; ">table</span><span style="color:#a65700; ">&gt;</span>
  <span style="color:#a65700; ">&lt;</span><span style="color:#800000; font-weight:bold; ">thead</span><span style="color:#a65700; ">&gt;</span>
    <span style="color:#a65700; ">&lt;</span><span style="color:#800000; font-weight:bold; ">tr</span><span style="color:#a65700; ">&gt;</span>
      <span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#000000; background:#ffffe8; ">        </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">foreach</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$csv2array</span><span style="color:#808030; background:#ffffe8; ">-&gt;</span><span style="color:#000000; background:#ffffe8; ">header</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">as</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$column</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">          </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"&lt;td&gt;"</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; ">$column</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">"&lt;/td&gt;"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">        </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#a65700; background:#ffffe8; ">?&gt;</span>
    <span style="color:#a65700; ">&lt;/</span><span style="color:#800000; font-weight:bold; ">tr</span><span style="color:#a65700; ">&gt;</span>
  <span style="color:#a65700; ">&lt;/</span><span style="color:#800000; font-weight:bold; ">thead</span><span style="color:#a65700; ">&gt;</span>
  <span style="color:#a65700; ">&lt;</span><span style="color:#800000; font-weight:bold; ">tbody</span><span style="color:#a65700; ">&gt;</span>
    <span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">while</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$row</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$csv2array</span><span style="color:#808030; background:#ffffe8; ">-</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; ">getNextRow</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">        </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"&lt;tr&gt;"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">          </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">foreach</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$row</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">as</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$column</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span><span style="color:#000000; background:#ffffe8; "> </span>
<span style="color:#000000; background:#ffffe8; ">            </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"&lt;td&gt;"</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#000000; background:#ffffe8; ">$column</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">"&lt;/td&gt;"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">          </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">        </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"&lt;/tr&gt;"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">      </span><span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#000000; background:#ffffe8; ">    </span><span style="color:#a65700; background:#ffffe8; ">?&gt;</span>
  <span style="color:#a65700; ">&lt;/</span><span style="color:#800000; font-weight:bold; ">tbody</span><span style="color:#a65700; ">&gt;</span>
<span style="color:#a65700; ">&lt;/</span><span style="color:#800000; font-weight:bold; ">table</span><span style="color:#a65700; ">&gt;</span></pre>
<p>Und das gibts dann zurück:</p>
<table border="0">
<thead>
<tr>
<td>ID</td>
<td>Alias</td>
<td>Titel</td>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>testseite</td>
<td>Titel</td>
</tr>
<tr>
<td>2</td>
<td>testseite</td>
<td>Titel 2</td>
</tr>
<tr>
<td>3</td>
<td>testseite</td>
<td>Titel 3</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2009/08/csv-import-in-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Deutsche Rechtschreibprüfung PHP &#8211; ohne pspell</title>
		<link>http://blog.stevieswebsite.de/2009/07/deutsche-rechtschreibprufung-php-ohne-pspell/</link>
		<comments>http://blog.stevieswebsite.de/2009/07/deutsche-rechtschreibprufung-php-ohne-pspell/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 16:35:00 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[deutsch]]></category>
		<category><![CDATA[rechtschreibprüfung]]></category>
		<category><![CDATA[rechtschreibüberprüfung]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=1894</guid>
		<description><![CDATA[Mit diesem PHP-Script könnt Ihr ganz einfach die Rechtschreibung eurer Texte in PHP prüfen lassen. Dort habe ich ein schönes Script gefunden, was allerdings nur in Englisch verfügbar war (Script + Sprachdatei). Nach ein bisschen Übersetzungarbeit und Recherche der Sprachdatei kann ich euch nun ein Rechtschreibprüfung Tool bieten, was auch deutsche Texte verbessert. Fangen wir [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1898" class="wp-caption alignleft" style="width: 152px"><a href="http://blog.stevieswebsite.de/wp-content/uploads/2009/07/php-rechtschreibung.jpg"><img class="size-full wp-image-1898" title="PHP Rechtschreibprüfung" src="http://blog.stevieswebsite.de/wp-content/uploads/2009/07/php-rechtschreibung.jpg" alt="php-rechtschreibung" width="142" height="85" /></a><p class="wp-caption-text">PHP Rechtschreibprüfung</p></div>
<p>Mit diesem PHP-Script könnt Ihr ganz einfach die Rechtschreibung eurer Texte in PHP prüfen lassen. Dort habe ich ein schönes Script gefunden, was allerdings nur in Englisch verfügbar war (<strong>Script + Sprachdatei</strong>). Nach ein bisschen Übersetzungarbeit und Recherche der Sprachdatei kann ich euch nun ein Rechtschreibprüfung Tool bieten, was auch <strong>deutsche Texte</strong> verbessert.<span id="more-1894"></span></p>
<p>Fangen wir an mit den Sprachdateien. Diese braucht ihr, um die Wörter der jeweiligen Sprache zu kennen. Ich habe nach einigem suchen eine Seite gefunden, welche diese anbietet: <a href="http://www.javascriptspellcheck.com/downloads.asp" target="_self">http://www.javascriptspellcheck.com/downloads.asp</a>.</p>
<p>In dem Script gibt es die Klasse <strong>dictionary_class</strong>, in welcher die Überprüfung stattfindet. Diese müsste man am besten <strong>nach seinen Wünschen anpassen</strong>, da sie die Vorschläge nur als Text zurückgibt. Besser wäre es, wenn man ein Array mit den Vorschlägen bekommt.</p>
<p>Außerdem gibt es noch zwei weitere Seiten, bei der einen gibt man den Text an, und die Andere ruft die Methoden der Übersetzungsklasse auf. Aber ich denke, man muss das ganze immer so anpassen, wie man es gerade braucht.</p>
<p>Hier geht&#8217;s zur Beispielseite:  <a href="http://temp.stevieswebsite.de/spellcheck.htm" target="_self">http://temp.stevieswebsite.de/spellcheck.htm</a></p>
<p>Und hier ist der Download: <a href="http://stevieswebsite.de/temp/SpellCheck.zip" target="_self">http://stevieswebsite.de/temp/SpellCheck.zip</a></p>
<p>Wie ihr evtl. mitbekommen habt, läuft das Script sehr langsam. Wer auf seinem Server <a title="PSpell" href="http://de2.php.net/manual/de/book.pspell.php" target="_self">pspell</a> hat, sollte besser das benutzen.</p>
<h2>Verwandte Themen</h2>
<ul>
<li><a title="Spell Checker with the Google Web API (webdesign.org,en)" href="http://www.webdesign.org/web/web-programming/php/spell-checker-with-the-google-web-api.9888.html" target="_blank">Spell Checker with the Google Web API (webdesign.org,en)</a></li>
<li><a title="Aspell &amp; pspell: Rechtschreibung mit PHP prüfen (codegefluester.de)" href="http://codegefluester.de/blog/2009/03/aspell-pspell-rechtschreibung-mit-php-prufen/" target="_self">Aspell &amp; pspell: Rechtschreibung mit PHP prüfen (codegefluester.de)</a></li>
<li><a title="Spell Check Rex - MySQL+PHP basierte Rechtschreibprüfung für Websites (tagdocs.de)" href="http://www.tagdocs.de/2009/05/29/spell-check-rex-mysqlphp-basierte-rechtschreibprufung-fur-websites/" target="_self">Spell Check Rex &#8211; MySQL+PHP basierte Rechtschreibprüfung für Websites (tagdocs.de)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2009/07/deutsche-rechtschreibprufung-php-ohne-pspell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: PEAR&#8217;s Cache_Lite</title>
		<link>http://blog.stevieswebsite.de/2009/05/tutorial-pears-chache_lite/</link>
		<comments>http://blog.stevieswebsite.de/2009/05/tutorial-pears-chache_lite/#comments</comments>
		<pubDate>Thu, 28 May 2009 13:17:29 +0000</pubDate>
		<dc:creator>Stefan Wienströer</dc:creator>
				<category><![CDATA[PEAR]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pear cache_lite]]></category>
		<category><![CDATA[php cache]]></category>

		<guid isPermaLink="false">http://blog.stevieswebsite.de/?p=1348</guid>
		<description><![CDATA[PEAR Cache_Lite ist ein leicht zu benutzendes Cache-System. Unter einem Cache versteht man, die Zwischenspeicherung von Daten. Wenn man zum Beispiel seine Navigation dynamisch in der Datenbank aufbaut, müssen bei jedem Aufruf alle Links ausgelesen, sortiert und ausgegeben werden. Dort kann man Geschwindigkeit sparen, in den man sie z.B. einmal pro Tag ausliest und zwischenspeichert. [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1350" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.stevieswebsite.de/wp-content/uploads/2009/05/harddisc.jpg"><img class="size-thumbnail wp-image-1350 " title="Optimierung durch Caching" src="http://blog.stevieswebsite.de/wp-content/uploads/2009/05/harddisc-150x150.jpg" alt="Optimierung durch Caching" width="150" height="150" /></a><p class="wp-caption-text">Optimierung durch Caching</p></div>
<p><a title="PEAR Cache_Lite" href="http://pear.php.net/package/Cache_Lite" target="_blank">PEAR Cache_Lite</a> ist ein leicht zu benutzendes Cache-System. Unter einem Cache versteht man, die <strong>Zwischenspeicherung</strong> von Daten. Wenn man zum Beispiel seine Navigation dynamisch in der Datenbank aufbaut, müssen bei jedem Aufruf alle Links ausgelesen, sortiert und ausgegeben werden. Dort kann man Geschwindigkeit sparen, in den man sie z.B. einmal pro Tag ausliest und zwischenspeichert. Das hat den Vorteil, dass man nicht jeden einzelnen Eintrag auslesen muss, sondern einfach den Inhalt aus dem Cache. Das ist um einiges <strong>schneller</strong>.</p>
<p>Als Beispiel werde ich eine kleine HTML-Seite generieren. Wenn diese nicht im Cache vorhanden ist, wird sie in den Cache geladen. Danach wird sie ausegeben. In diesem Falle macht ein Cache zwar nicht wirklich Sinn, aber es soll ja auch nur veranschaulichen wie es geht. <span id="more-1348"></span>Um zu sehen, dass es wirklich zwischengespeichert wird, baue ich die <strong>Uhrzeit</strong> mit ein. Diese sollte dann, solange die Seite im Cache ist, immer gleich bleiben:</p>
<pre style="color:#000000;background:#ffffff;"><span style="color:#a65700; background:#ffffe8; ">&lt;?</span><span style="color:#000000; background:#ffffe8; ">PHP</span>
<span style="color:#800000; background:#ffffe8; font-weight:bold; ">require_once</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">'pear/PEAR/Cache/Lite.php'</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>

<span style="color:#000000; background:#ffffe8; ">$parameter</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">array</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">'cacheDir'</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">'cache/'</span><span style="color:#808030; background:#ffffe8; ">,</span>
<span style="color:#000000; background:#ffffe8; ">                   </span><span style="color:#0000e6; background:#ffffe8; ">'lifeTime'</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#008c00; background:#ffffe8; ">10000</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#000000; background:#ffffe8; "> </span>
<span style="color:#000000; background:#ffffe8; ">                   </span><span style="color:#0000e6; background:#ffffe8; ">'pearErrorMode'</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; ">CACHE_LITE_ERROR_DIE</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">$Cache_Lite</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#800000; background:#ffffe8; font-weight:bold; ">new</span><span style="color:#000000; background:#ffffe8; "> Cache_Lite</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$parameter</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>

<span style="color:#800000; background:#ffffe8; font-weight:bold; ">if</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#808030; background:#ffffe8; ">!</span><span style="color:#000000; background:#ffffe8; ">$seite</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$Cache_Lite</span><span style="color:#808030; background:#ffffe8; ">-</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#000000; background:#ffffe8; ">get</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#008c00; background:#ffffe8; ">1</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">{</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#000000; background:#ffffe8; ">$seite</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#808030; background:#ffffe8; ">=</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#0000e6; background:#ffffe8; ">"&lt;html&gt;</span>
<span style="color:#0000e6; background:#ffffe8; ">              &lt;body&gt;</span>
<span style="color:#0000e6; background:#ffffe8; ">                &lt;p&gt;Uhrzeit: "</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#400000; background:#ffffe8; ">date</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#0000e6; background:#ffffe8; ">"H:i:s"</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#808030; background:#ffffe8; ">.</span><span style="color:#0000e6; background:#ffffe8; ">"&lt;/p&gt;</span>
<span style="color:#0000e6; background:#ffffe8; ">              &lt;/body&gt;</span>
<span style="color:#0000e6; background:#ffffe8; ">            &lt;/html&gt;"</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#000000; background:#ffffe8; ">  </span><span style="color:#000000; background:#ffffe8; ">$Cache_Lite</span><span style="color:#808030; background:#ffffe8; ">-</span><span style="color:#808030; background:#ffffe8; ">&gt;</span><span style="color:#400000; background:#ffffe8; ">Save</span><span style="color:#808030; background:#ffffe8; ">(</span><span style="color:#000000; background:#ffffe8; ">$seite</span><span style="color:#808030; background:#ffffe8; ">,</span><span style="color:#008c00; background:#ffffe8; ">1</span><span style="color:#808030; background:#ffffe8; ">)</span><span style="color:#800080; background:#ffffe8; ">;</span>
<span style="color:#800080; background:#ffffe8; ">}</span>
<span style="color:#800000; background:#ffffe8; font-weight:bold; ">echo</span><span style="color:#000000; background:#ffffe8; "> </span><span style="color:#000000; background:#ffffe8; ">$seite</span><span style="color:#800080; background:#ffffe8; ">;</span>

<span style="color:#a65700; background:#ffffe8; ">?&gt;</span></pre>
<p>Als <strong>Konstruktor</strong> bekommt Cache_Lite ein Array von Parametern(hier $parameter). Hier kann  mit <strong>cacheDir</strong> das Verzeichnis angegeben werden, in dem die gecachten Daten gespeichert werden sollen. <strong>LifeTime</strong> gibt die Anzahl in Sekunden an, wie lange die Seite gültig ist. Ist sie ungültig, wird sie neu hereingeladen. So kann man aktuelle Daten zeigen, aber trotzdem an Performance gewinnen, da diese eben nur einmal in X Sekunden ausgelesen werden. <strong>PearErrorMode </strong>gibt noch an, in welchen Modus Fehler behandelt werden sollen. In diesem Fall, wird wie bei den normalen PHP-Syntax-Fehlern die Fehlermeldung ausgegeben und die Ausführung der Skripts abgebrochen.</p>
<p>Mit der Methode<strong> get</strong>, kann man die Daten auslesen. Sind sie nicht vorhanden, gibt die Zuwesieund<strong> false</strong> aus. Als Parameter muss hier eine <strong>id</strong> angegebn werden, unter welcher die Daten gespeichert sind.</p>
<p>Mit dem Befehl <strong>save</strong> werden logischerweise die Daten gespeichert. Im ersten Parameter muss der <strong>Inhalt</strong> angegeben werden und im zweiten wie auch bei get die <strong>id</strong>.</p>
<p>Da wir hier den Inhalt in der Seite gespeichert haben, kann man diese nun einfach ausgeben. Wie Du sehen wirst, ist beim zweiten Aufruf die <strong>gleiche Uhrzeit</strong> wie beim ersten.</p>
<p><em>Die Abbildung oben stammt von  Mike Nottebrock auf <a href="http://www.pixelio.de/details.php?image_id=78655&amp;mode=search" target="_blank">Pixelio.de</a></em></p>
<h2>Verwandte Themen</h2>
<ul>
<li><a title="Using PEAR Cache_Lite (sweeting.org, en)" href="http://www.sweeting.org/mark/blog/2005/06/17/using-pear-cache_lite" target="_blank">Using PEAR Cache_Lite (sweeting.org, en)<em> </em></a></li>
<li><a title="PEAR::Cache_lite - speed, simplicity, security (kalexandr.com, en)" href="http://www.kalexandr.com/pearcachelite-speed-simplicity-security" target="_blank">PEAR::Cache_lite &#8211; speed, simplicity, security (kalexandr.com, en)</a></li>
<li><a title="Speedup your website with Cache_Lite (kevin.vanzonneveld.net, en)" href="http://kevin.vanzonneveld.net/techblog/article/speedup_your_website_with_cache_lite/" target="_blank">Speedup your website with Cache_Lite (kevin.vanzonneveld.net, en)</a></li>
<li><a title="Caching navigation with PEAR::Cache_Lite (nettiapina.fi, en)" href="http://nettiapina.fi/blog/2006/11/28/caching-navigation-with-pearcache_lite/" target="_blank">Caching navigation with PEAR::Cache_Lite (nettiapina.fi, en)</a></li>
<li><a title="Quick and Dirty PHP Caching (snipe.net, en)" href="http://www.snipe.net/2009/03/quick-and-dirty-php-caching/" target="_blank">Quick and Dirty PHP Caching (snipe.net, en)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.stevieswebsite.de/2009/05/tutorial-pears-chache_lite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
