<?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>Sprachrohr &#187; php</title>
	<atom:link href="http://robert-kummer.de/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://robert-kummer.de</link>
	<description>alles, was der robbi so interessant findet</description>
	<lastBuildDate>Thu, 29 Jul 2010 12:33:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
			<item>
		<title>Wie suche ich in einem Array nach einem Textteil mit PHP?</title>
		<link>http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/</link>
		<comments>http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 16:30:20 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/?p=399</guid>
		<description><![CDATA[Diese Herausforderung hatte ich jüngst zu meistern. Ursprung war eine recht unsinnige Datenbankstruktur bei einem Kunden. Dort gibt es keine Normalisierung im Datenbankuniversum Aber nun genug gejammert. Auch damit muss man als Programmierer klar kommen. Die Problemstellung ist, dass eine &#8230; <a href="http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Diese Herausforderung hatte ich jüngst zu meistern. Ursprung war eine recht unsinnige Datenbankstruktur bei einem Kunden. Dort gibt es keine Normalisierung im Datenbankuniversum <img src='http://robert-kummer.de/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Aber nun genug gejammert. Auch damit muss man als Programmierer klar kommen. Die Problemstellung ist, dass eine Hierarchie durch eine Zeichenfolge in einem Textfeld angegeben wird. Dabei können mehrere Hierarchien auftreten, die ebenfalls durch ein Zeichen getrennt werden. Das sieht dann so aus:</p>
<pre>2|15;2|8
</pre>
<p>Das Trennzeichen verschiedener Hierarchiedefinitionen ist das &#8220;;&#8221; (Semikolon). Die Hierarchieebenen werden mit dem &#8220;|&#8221; (Pipe) getrennt. Obige Darstellung signalisiert also ein Element, welches sich einmal in Hierarchie &#8220;2&#8243; -&gt; &#8220;15&#8243; und einmal in Hierarchie &#8220;2&#8243; -&gt; &#8220;8&#8243; befindet. Die Hierarchieebene &#8220;2&#8243; ist also eine Oberebene und besitzt mindestens zwei Unterebenen.</p>
<p>Nun wird diese Hierchie für eine Verlinkung genutzt. Da ist es natürlich sehr passend, wenn man den Link abhängig von den Hierarchieebenen zusammenbaut. Befinde ich mich gerade in der Ebene &#8220;15&#8243;, dann will ich auch den Link via &#8220;2&#8243; -&gt; &#8220;15&#8243; erhalten und in Ebene &#8220;8&#8243; eben umgekehrt.</p>
<p>Nach kurzem Suchen fand ich dann die <a  href="http://www.klamm.de/forum/archive/index.php/t-97472.html" target="_blank">Lösung</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> array_find<span style="color: #009900;">&#40;</span><span style="color: #000088;">$haystack</span><span style="color: #339933;">,</span> <span style="color: #000088;">$needle</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$iterator</span> <span style="color: #339933;">=</span> <span style="color: #990000;">create_function</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'$item'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'return strpos($item, \''</span><span style="color: #339933;">.</span><span style="color: #000088;">$needle</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'\')!==false;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">array_filter</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$haystack</span><span style="color: #339933;">,</span> <span style="color: #000088;">$iterator</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> array_contains<span style="color: #009900;">&#40;</span><span style="color: #000088;">$haystack</span><span style="color: #339933;">,</span> <span style="color: #000088;">$needle</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$iterator</span> <span style="color: #339933;">=</span> <span style="color: #990000;">create_function</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'$value, $item'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'return $value or strpos($item, \''</span><span style="color: #339933;">.</span><span style="color: #000088;">$needle</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'\')!==false;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">array_reduce</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$haystack</span><span style="color: #339933;">,</span> <span style="color: #000088;">$iterator</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Diese beiden Funktionen liefern einmal ein Array mit den gefundenen Elementen. Die andere ein Boolean, ob das gesuchte Element sich irgendwo in den Werten befindet.</p>
<p>Hier ein Beispiel der Anwendung:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$needle</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'foo'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'affe'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'barfoos'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cherry'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'dilemma'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'eisberg'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fastfood'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Das Array enthält irgendwo den String &quot;%s&quot;: [%s]'</span><span style="color: #339933;">.</span>PHP_EOL<span style="color: #339933;">,</span> <span style="color: #000088;">$needle</span><span style="color: #339933;">,</span> array_contains<span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span> <span style="color: #000088;">$needle</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">'X'</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">'-'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Die folgenden Elemente enthalten den String &quot;%s&quot;: [%s]'</span><span style="color: #339933;">.</span>PHP_EOL<span style="color: #339933;">,</span> <span style="color: #000088;">$needle</span><span style="color: #339933;">,</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">','</span><span style="color: #339933;">,</span> array_find<span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span> <span style="color: #000088;">$needle</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Die Ausgabe sieht dann so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Das Array enthält irgendwo den String <span style="color: #ff0000;">&quot;foo&quot;</span>: <span style="color: #7a0874; font-weight: bold;">&#91;</span>X<span style="color: #7a0874; font-weight: bold;">&#93;</span>
Die folgenden Elemente enthalten den String <span style="color: #ff0000;">&quot;foo&quot;</span>: <span style="color: #7a0874; font-weight: bold;">&#91;</span>barfoos,fastfood<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>Mit diesen Funktionen konnte ich nun sehr elegant &#8211; ohne Schleife &#8211; die Herausforderung bewältigen. Danke Google, Klamm und tleilax.<br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2009/11/19/zend_xmlrpc_server-debuggen-so-gehts/" title="Zend_XmlRpc_Server debuggen &#8211; so gehts!">Zend_XmlRpc_Server debuggen &#8211; so gehts!</a></li>
<li><a  href="http://robert-kummer.de/2009/05/26/umlaute-mit-strtoupper-gehen-nicht/" title="Umlaute mit strtoupper() gehen nicht">Umlaute mit strtoupper() gehen nicht</a></li>
<li><a  href="http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/" title="Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)">Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)</a></li>
<li><a  href="http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/" title="PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)">PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)</a></li>
<li><a  href="http://robert-kummer.de/2009/04/26/php-design-patterns/" title="PHP Design Patterns (Gebundene Ausgabe)">PHP Design Patterns (Gebundene Ausgabe)</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend_XmlRpc_Server debuggen &#8211; so gehts!</title>
		<link>http://robert-kummer.de/2009/11/19/zend_xmlrpc_server-debuggen-so-gehts/</link>
		<comments>http://robert-kummer.de/2009/11/19/zend_xmlrpc_server-debuggen-so-gehts/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 20:31:47 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[gsales]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xmlrpc]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/?p=362</guid>
		<description><![CDATA[Also ich hatte jetzt gerade wieder das Problem, dass mein GSales_Connector (XMLRPC-Schnittstelle zu GSales mit sehr erweitertem Funktionsumfang im Vergleich zur normalen Schnittstelle von GSales) ein wenig herumgezickt hat. Er lieferte Sachen wie folgendes: Exception: Failed to parse response ~~ &#8230; <a href="http://robert-kummer.de/2009/11/19/zend_xmlrpc_server-debuggen-so-gehts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Also ich hatte jetzt gerade wieder das Problem, dass mein <a  title="project hosted on demobereich.de" href="http://www.demobereich.de">GSales_Connector</a> (XMLRPC-Schnittstelle zu <a  href="http://www.gsales.de/">GSales</a> mit sehr erweitertem Funktionsumfang im Vergleich zur normalen Schnittstelle von GSales) ein wenig herumgezickt hat. Er lieferte Sachen wie folgendes:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Exception: Failed to parse response
~~ <span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>..<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #000000; font-weight: bold;">/</span>library<span style="color: #000000; font-weight: bold;">/</span>Zend<span style="color: #000000; font-weight: bold;">/</span>XmlRpc<span style="color: #000000; font-weight: bold;">/</span>Client<span style="color: #000000; font-weight: bold;">/</span>ServerProxy.php<span style="color: #000000; font-weight: bold;">@</span><span style="color: #000000;">93</span>: Zend_XmlRpc_Client-<span style="color: #000000; font-weight: bold;">&gt;</span>call<span style="color: #7a0874; font-weight: bold;">&#40;</span>string, array<span style="color: #7a0874; font-weight: bold;">&#41;</span>
~~ <span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>..<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #000000; font-weight: bold;">/</span>library<span style="color: #000000; font-weight: bold;">/</span>GSales<span style="color: #000000; font-weight: bold;">/</span>SeriesInvoice.php<span style="color: #000000; font-weight: bold;">@</span><span style="color: #000000;">144</span>: Zend_XmlRpc_Client_ServerProxy-<span style="color: #000000; font-weight: bold;">&gt;</span>updateSeriesInvoicePosition<span style="color: #7a0874; font-weight: bold;">&#40;</span>integer, array<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Nun dachte ich mir so, dass ich zum debuggen einfach <a  href="http://de.php.net/manual/en/function.mail.php">mail()</a> nutzen könne. Pustekuchen&#8230;nicht mal Dateien hat der nette <a  href="http://framework.zend.com/manual/de/zend.xmlrpc.server.html">Zend_XmlRpc_Server</a> geschrieben. Aber die Lösung des Problems ist so einfach, wie nützlich&#8230;leider kam ich nicht gleich darauf (muss wohl an der Uhrzeit liegen).</p>
<p>Meine Lösung:</p>
<ol>
<li>Zum Test einen kleinen Zend_XmlRpc_Client erstellen</li>
<li>Die &#8220;kaputte&#8221; Methode im Server mit einem weiteren @return-Typ versehen: string</li>
<li>in der &#8220;kaputten&#8221; Methode auf dem Server einfach per return &#8220;zeilenweise&#8221; die Zwischenergebnisse zurückgeben lassen</li>
<li>gefundenen Fehler fixen und vóila, alles ist schön</li>
</ol>
<p>Hier mein Testclient (mit HTTP-Auth):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">set_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/pfad/zur/zf/library/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Zend/Http/Client.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Zend/XmlRpc/Client.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Zend/Debug.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Zend/Http/Client/Exception.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http://xmlrpc-server.loc/xmlrpc.php'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$username</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'httpauth-user'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$password</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'httpauth-password'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$httpClient</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Http_Client<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$httpClient</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setAuth</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$username</span><span style="color: #339933;">,</span> <span style="color: #000088;">$password</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$client</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_XmlRpc_Client<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #000088;">$httpClient</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$proxy</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$client</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getProxy</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'module'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$intId</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">123</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$arrUpdateData</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
 <span style="color: #0000ff;">'bez3'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'klappt doch mit Ümlauten'</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$strUpdateData</span> <span style="color: #339933;">=</span> <span style="color: #990000;">http_build_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arrUpdateData</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
Zend_Debug<span style="color: #339933;">::</span><span style="color: #004000;">dump</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$proxy</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">kaputteMethode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$intId</span><span style="color: #339933;">,</span> <span style="color: #000088;">$strUpdateData</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Und hier ist ein Auszug aus der xmlrpc.php vom Server:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
 * updates anything
 * @param int $pid
 * @param string $strUpdateData
 * @return bool|string
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> kaputteMethode<span style="color: #009900;">&#40;</span><span style="color: #000088;">$pid</span><span style="color: #339933;">,</span> <span style="color: #000088;">$strUpdateData</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
 <span style="color: #990000;">parse_str</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$strUpdateData</span><span style="color: #339933;">,</span> <span style="color: #000088;">$arrUpdateData</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#91;</span><span style="color: #339933;">..</span><span style="color: #009900;">&#93;</span>
 <span style="color: #b1b100;">return</span> <span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arrUpdateData</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$server</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_XmlRpc_Server<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$server</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addFunction</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'kaputteMethode'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'module'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$server</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">handle</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Also mir hat das sehr gut geholfen und leider fand ich bisher mit Google nichts dazu. Wer es anders macht oder besser kann, immer her damit! Was mich auch interessieren würde ist, ob ich mit dem Observer oder einer weiteren Exception-Definition per Zend_XmlRpc_Server_Fault etwas ähnliches hätte erreichen können. Ich glaube nicht, weiß es aber nicht so genau.<br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/" title="Wie suche ich in einem Array nach einem Textteil mit PHP?">Wie suche ich in einem Array nach einem Textteil mit PHP?</a></li>
<li><a  href="http://robert-kummer.de/2009/05/26/umlaute-mit-strtoupper-gehen-nicht/" title="Umlaute mit strtoupper() gehen nicht">Umlaute mit strtoupper() gehen nicht</a></li>
<li><a  href="http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/" title="Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)">Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)</a></li>
<li><a  href="http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/" title="PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)">PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)</a></li>
<li><a  href="http://robert-kummer.de/2009/04/26/php-design-patterns/" title="PHP Design Patterns (Gebundene Ausgabe)">PHP Design Patterns (Gebundene Ausgabe)</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2009/11/19/zend_xmlrpc_server-debuggen-so-gehts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Umlaute mit strtoupper() gehen nicht</title>
		<link>http://robert-kummer.de/2009/05/26/umlaute-mit-strtoupper-gehen-nicht/</link>
		<comments>http://robert-kummer.de/2009/05/26/umlaute-mit-strtoupper-gehen-nicht/#comments</comments>
		<pubDate>Tue, 26 May 2009 12:48:21 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/?p=267</guid>
		<description><![CDATA[Das tolle an php ist ja eigentlich seine Einfachheit&#8230;aber manchmal könnte ich es an die Wand klatschen. Folgender Quellcode bringt kein großes &#8220;Ä&#8221;: echo strtoupper&#40;'ä'&#41;; Folgender Quellcode hingegen schon: $s = strtoupper&#40;'ä'&#41;; $s = strtr&#40;$s, array&#40; 'ä' =&#38;gt; 'Ä', 'ö' &#8230; <a href="http://robert-kummer.de/2009/05/26/umlaute-mit-strtoupper-gehen-nicht/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Das tolle an <a  href="http://de.php.net/" target="_blank">php</a> ist ja eigentlich seine Einfachheit&#8230;aber manchmal könnte ich es an die Wand klatschen.</p>
<p>Folgender Quellcode bringt kein großes &#8220;Ä&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #990000;">strtoupper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ä'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Folgender Quellcode hingegen schon:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtoupper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ä'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$s</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">strtr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
	<span style="color: #0000ff;">'ä'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'Ä'</span><span style="color: #339933;">,</span>
	<span style="color: #0000ff;">'ö'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'Ö'</span><span style="color: #339933;">,</span>
	<span style="color: #0000ff;">'ü'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'Ü'</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$s</span><span style="color: #339933;">;</span></pre></div></div>

<p>Tja, das kann schon echt nervig sein.<br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/" title="Wie suche ich in einem Array nach einem Textteil mit PHP?">Wie suche ich in einem Array nach einem Textteil mit PHP?</a></li>
<li><a  href="http://robert-kummer.de/2009/11/19/zend_xmlrpc_server-debuggen-so-gehts/" title="Zend_XmlRpc_Server debuggen &#8211; so gehts!">Zend_XmlRpc_Server debuggen &#8211; so gehts!</a></li>
<li><a  href="http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/" title="Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)">Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)</a></li>
<li><a  href="http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/" title="PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)">PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)</a></li>
<li><a  href="http://robert-kummer.de/2009/04/26/php-design-patterns/" title="PHP Design Patterns (Gebundene Ausgabe)">PHP Design Patterns (Gebundene Ausgabe)</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2009/05/26/umlaute-mit-strtoupper-gehen-nicht/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)</title>
		<link>http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/</link>
		<comments>http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/#comments</comments>
		<pubDate>Sun, 17 May 2009 11:36:11 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5-einfuhrung-in-die-webprogrammierung-gebundene-ausgabe/</guid>
		<description><![CDATA[Noch immer redet jeder von PHP und MySQL für dynamische Webseiten und fast jede Website benutzt es. Aber wie macht man die ersten Schritte, wenn man weder vom Programmieren, noch von Datenbanken eine Ahnung hat? Einstieg in PHP 5 und &#8230; <a href="http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amazon.de/Einstieg-PHP-MySQL-Einf%C3%BChrung-Webprogrammierung/dp/3898428540/ref=sr_1_3/275-1019094-5237458?ie=UTF8&#038;s=books&#038;qid=1240218479&#038;sr=8-3?ie=UTF8&#038;tag=robertkummer-21"><img style="float:left;width: 150px;height:150px;margin-right: 10px;" src="http://ecx.images-amazon.com/images/I/51GGDZN7WML._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU03_.jpg" alt="Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung" /></a></p>
<p>Noch immer redet jeder von PHP und MySQL für dynamische Webseiten und fast jede Website benutzt es. Aber wie macht man die ersten Schritte, wenn man weder vom Programmieren, noch von Datenbanken eine Ahnung hat? Einstieg in PHP 5 und MySQL 5 in der 4., aktualisierten Auflage ist die Antwort. Autor Thomas Theis verlangt weder Programmier- noch Datenbankkenntnisse, denn die vermittelt er für Linux und Windows samt Software-CD-ROM auf den knapp 600 Seiten seines PHP-Buches, dessen Inhalt und Preis-/Leistungsverhältnis auch in der 4. Auflage immer noch schlichtweg überzeugen.  Nachdem Thomas Theis vielen bereits erfolgreich den Weg zu PHP 4 geebnet hat, ist er mit seinem neuen Buch zu PHP 5 und MySQL 5 erneut auf Mission, die weit verbreitete Skriptsprache interessierten Einsteigern zu vermitteln: Hinzu gekommen sind mehr und vor allem praxisrelevantere Beispiele, neue Themenbereiche und vor allem die objektorientierten Erweiterungen von PHP 5.1. Natürlich lieg <a  href="http://www.amazon.de/Einstieg-PHP-MySQL-Einf%C3%BChrung-Webprogrammierung/dp/3898428540/ref=sr_1_3/275-1019094-5237458?ie=UTF8&#038;s=books&#038;qid=1240218479&#038;sr=8-3?ie=UTF8&#038;tag=robertkummer-21" title="More at Amazon">weiter&#8230;</a><br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/" title="PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)">PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)</a></li>
<li><a  href="http://robert-kummer.de/2009/04/24/sql-buddy-web-based-mysql-administration/" title="SQL Buddy &#8211; Web based MySQL administration">SQL Buddy &#8211; Web based MySQL administration</a></li>
<li><a  href="http://robert-kummer.de/2009/04/22/php-5-mysql-5-studienausgabe-broschiert/" title="PHP 5 / MySQL 5. Studienausgabe (Broschiert)">PHP 5 / MySQL 5. Studienausgabe (Broschiert)</a></li>
<li><a  href="http://robert-kummer.de/2009/03/05/versionierung-und-ticketverwaltung-fuer-lau/" title="Versionierung und Ticketverwaltung für lau">Versionierung und Ticketverwaltung für lau</a></li>
<li><a  href="http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/" title="Wie suche ich in einem Array nach einem Textteil mit PHP?">Wie suche ich in einem Array nach einem Textteil mit PHP?</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)</title>
		<link>http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/</link>
		<comments>http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/#comments</comments>
		<pubDate>Fri, 08 May 2009 17:59:18 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/2009/05/08/php-und-mysql-easy-dynamik-fur-ihre-webseiten-leicht-klar-sofort-taschenbuch/</guid>
		<description><![CDATA[Flexible und leistungsfähige Websites verspricht das Traumteam des WWW und Giesbert Damaschke hat sich das Duo vorgenommen und mit PHP &#038; MySQL auf 300 Seiten im Hosentaschenformat für Einsteiger und Neugierige mit HTML-Kenntnissen praktisch und gleich umsetzbar aufbereitet. Entscheidend ist &#8230; <a href="http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amazon.de/PHP-MySQL-Easy-Dynamik-Webseiten/dp/3827269326/ref=sr_1_2/275-1019094-5237458?ie=UTF8&#038;s=books&#038;qid=1240218479&#038;sr=8-2?ie=UTF8&#038;tag=robertkummer-21"><img style="float:left;width: 150px;height:150px;margin-right: 10px;" src="http://ecx.images-amazon.com/images/I/419rHw5kgxL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU03_.jpg" alt="PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort" /></a></p>
<p>Flexible und leistungsfähige Websites verspricht das Traumteam des WWW und Giesbert Damaschke hat sich das Duo vorgenommen und mit PHP &#038; MySQL auf 300 Seiten im Hosentaschenformat für Einsteiger und Neugierige mit HTML-Kenntnissen praktisch und gleich umsetzbar aufbereitet.  Entscheidend ist da Ergebnis. Und darauf arbeitet Damaschke gemeinsam mit dem Leser hin. Dabei zeigt er was nötig ist und lässt weg, was man zur Erstellung dynamischer Sites nicht benötigt. Nach ersten Schritten in PHP, in denen er die Grundregeln erklärt, beschreibt er Entscheidungen, Schleifen und Funktionen und setzt die neue gelernten Erkenntnisse auch gleich mit einem entsprechenden Besucherzähler-Beispiel um. Dann folgen Datenstrukturen mit Arrays, Datenbanken mit MySQL und PHPMyAdmin, die Logdatei mit MySQL und PHP und dazu auch gleich wieder ein Beispiel: Eine Mottomaschine für die Homepage. Natürlich macht man Fehler und die können mitunter viel Zeit und Nerven kosten. Des <a  href="http://www.amazon.de/PHP-MySQL-Easy-Dynamik-Webseiten/dp/3827269326/ref=sr_1_2/275-1019094-5237458?ie=UTF8&#038;s=books&#038;qid=1240218479&#038;sr=8-2?ie=UTF8&#038;tag=robertkummer-21" title="More at Amazon">weiter&#8230;</a><br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/" title="Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)">Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)</a></li>
<li><a  href="http://robert-kummer.de/2009/04/24/sql-buddy-web-based-mysql-administration/" title="SQL Buddy &#8211; Web based MySQL administration">SQL Buddy &#8211; Web based MySQL administration</a></li>
<li><a  href="http://robert-kummer.de/2009/04/22/php-5-mysql-5-studienausgabe-broschiert/" title="PHP 5 / MySQL 5. Studienausgabe (Broschiert)">PHP 5 / MySQL 5. Studienausgabe (Broschiert)</a></li>
<li><a  href="http://robert-kummer.de/2009/03/05/versionierung-und-ticketverwaltung-fuer-lau/" title="Versionierung und Ticketverwaltung für lau">Versionierung und Ticketverwaltung für lau</a></li>
<li><a  href="http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/" title="Wie suche ich in einem Array nach einem Textteil mit PHP?">Wie suche ich in einem Array nach einem Textteil mit PHP?</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>PHP Design Patterns (Gebundene Ausgabe)</title>
		<link>http://robert-kummer.de/2009/04/26/php-design-patterns/</link>
		<comments>http://robert-kummer.de/2009/04/26/php-design-patterns/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 07:12:24 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[literatur]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/?p=224</guid>
		<description><![CDATA[Entwurfsmuster und PHP scheinen sich irgendwie zu widersprechen: Muster gelten als kompliziert und komplex, PHP ist einfach und verständlich &#8212; warum schreibt also ein PHP-Kenner wie Stephan Schmidt ein Buch wie PHP Design Patterns? Ganz einfach: &#8220;Durch die Anleitungen in &#8230; <a href="http://robert-kummer.de/2009/04/26/php-design-patterns/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amazon.de/PHP-Design-Patterns-Stephan-Schmidt/dp/389721864X/ref=sr_1_1/280-3042870-2571155?ie=UTF8&#038;s=books&#038;qid=1240729382&#038;sr=8-1?ie=UTF8&#038;tag=robertkummer-21"><img style="float: left; width: 150px; height: 150px; margin-right: 10px;" src="http://ecx.images-amazon.com/images/I/21MV1nl%2BK6L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA198_SH20_OU03_.jpg" alt="PHP Design Patterns" /></a><br />
Entwurfsmuster und PHP scheinen sich irgendwie zu widersprechen: Muster gelten als kompliziert und komplex, PHP ist einfach und verständlich &#8212; warum schreibt also ein PHP-Kenner wie Stephan Schmidt ein Buch wie PHP Design Patterns? Ganz einfach: &#8220;Durch die Anleitungen in diesem Buch werden Design Patterns zu einem Werkzeug der PHP-Entwicklung, das Ihren Programmieralltag sowohl erleichtert als auch bereichert.&#8221;.  Schmidt setzt an mehreren Stellen an: die neuen Sprachkonstrukte in PHP, die von der Zend Engine 2 unterstützt werden, Objektgrundlagen bis hin zu Richtlinien, die beim Design einer Applikation beachtet werden sollten. An erster Stelle steht für ihn jedoch: guter Code in PHP und Spaß an Programmieren.  PHP Design Patterns richtet sich an die Adresse von PHP-erfahrenen Programmierern &#8212; PHP-Neulinge sollten zumindest auf dem Stand von Einführung in PHP 5 sicher sein, bevor sie sich an Muster wagen, für den Aufstieg von PHP 4 nach 5 hat Schmidt <a  title="More at Amazon" href="http://www.amazon.de/PHP-Design-Patterns-Stephan-Schmidt/dp/389721864X/ref=sr_1_1/280-3042870-2571155?ie=UTF8&#038;s=books&#038;qid=1240729382&#038;sr=8-1?ie=UTF8&#038;tag=robertkummer-21">(weiter&#8230;)</a><br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/" title="Wie suche ich in einem Array nach einem Textteil mit PHP?">Wie suche ich in einem Array nach einem Textteil mit PHP?</a></li>
<li><a  href="http://robert-kummer.de/2009/11/19/zend_xmlrpc_server-debuggen-so-gehts/" title="Zend_XmlRpc_Server debuggen &#8211; so gehts!">Zend_XmlRpc_Server debuggen &#8211; so gehts!</a></li>
<li><a  href="http://robert-kummer.de/2009/05/26/umlaute-mit-strtoupper-gehen-nicht/" title="Umlaute mit strtoupper() gehen nicht">Umlaute mit strtoupper() gehen nicht</a></li>
<li><a  href="http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/" title="Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)">Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)</a></li>
<li><a  href="http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/" title="PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)">PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2009/04/26/php-design-patterns/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>SQL Buddy &#8211; Web based MySQL administration</title>
		<link>http://robert-kummer.de/2009/04/24/sql-buddy-web-based-mysql-administration/</link>
		<comments>http://robert-kummer.de/2009/04/24/sql-buddy-web-based-mysql-administration/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 08:21:54 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/?p=219</guid>
		<description><![CDATA[Heute will ich mal ein Tool vorstellen, welches einen adäquaten Ersatz für den allseits bekannten phpMyAdmin bieten kann. Und zwar ist das der SQL Buddy. Zur Benutzung benötigt man keinerlei Konfiguration, da alle Daten beim Login abgefragt werden. Aufpassen sollte &#8230; <a href="http://robert-kummer.de/2009/04/24/sql-buddy-web-based-mysql-administration/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a  rel="external nofollow" href="http://www.flickr.com/photos/37996589754@N01/8956688"><img class="alignright" style="border: 0pt none; margin-left: 8px; margin-right: 8px;" src="http://farm1.static.flickr.com/6/8956688_5e767acdb4_m.jpg" border="0" alt="folktunes.org database work" hspace="8" width="240" height="140" align="left" /></a>Heute will ich mal ein Tool vorstellen, welches einen adäquaten Ersatz für den allseits bekannten <a  title="phpMyAdmin" href="http://www.phpmyadmin.net/" target="_blank">phpMyAdmin</a> bieten kann. Und zwar ist das der <a  title="SQL Buddy" href="http://www.sqlbuddy.com/" target="_blank">SQL Buddy</a>.</p>
<p>Zur Benutzung benötigt man keinerlei Konfiguration, da alle Daten beim Login abgefragt werden. Aufpassen sollte man mit der Startseite des SQL Buddy: er hat bei mir lokal (WinXP, XAMPP) das Problem gehabt, dass er zu Beginn nicht von der Index-Seite auf die login.php ging. Also lieber die login.php direkt aufrufen, &#8220;dann klappts auch mit der Mutti&#8221;.</p>
<p>Der SQL Buddy besticht durch seine Einfachheit und aufgeräumten Oberfläche. Die Exportformate sind arg spärlich, wenn man den großen Bruder &#8211; sofern man ihn so nennen darf &#8211; phpMyAdmin sieht. Aber wenn man mal ehrlich ist, mehr als SQL braucht man nicht wirklich und das kann der kleine Buddy.</p>
<p>Es gibt auch ein zweites Designthema, wobei mir das jetzige Standardthema definitiv ausreichend gefällt.</p>
<p>Wer ein paar Screenshots sehen möchte, der wird <a  title="SQL Buddy Screenshots" href="http://www.sqlbuddy.com/screenshots/" target="_blank">hier</a> fündig.</p>
<p>Ein weiterer großer Vorteil ist die hohe Verfügbarkeit von <a  title="SQL Buddy Übersetzung" href="http://www.sqlbuddy.com/translations/" target="_blank">Übersetzungen</a>. Es sind quasi alle wichtigen vorhanden, alle fehlenden kann man live auf der Seite bearbeiten. Das ist echt mal eine geile Idee!</p>
<p>Mittlerweile wird das Projekt auf <a  title="Projekt auf Google Code" href="http://code.google.com/p/sql-buddy/" target="_blank">http://code.google.com/p/sql-buddy/</a> gehostet.</p>
<p>Ich hoffe, dass dieses Projekt noch ein bis zwei Schwächen, wie zum Beispiel die sinnlose 2. Menüdarstellung oder&#8230;hm, nun fällt mir keine weitere Schwäche ein. <img src='http://robert-kummer.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Hier mal noch kurz die Daten und Anforderungen der aktuellen <a  title="SQL Buddy Download" href="http://www.sqlbuddy.com/download/dl.php" target="_blank">Version 1.3.1</a>:</p>
<ul>
<li>277 Kb für die ZIP-Datei</li>
<li>PHP 4.3+</li>
<li>MySQL 4+</li>
<li>läuft in Mozilla Firefox, Safari, Opera 9.5 und Internet Explorer 7</li>
</ul>
<p>Ich werde den SQL Buddy auf jedenfall in unseren neuen Hosting-Service <a  title="demobereich.de" href="http://www.demobereich.de/" target="_blank">demobereich.de</a> mit integrieren in einer der nächsten Versionen.<br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/" title="Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)">Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)</a></li>
<li><a  href="http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/" title="PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)">PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)</a></li>
<li><a  href="http://robert-kummer.de/2009/04/22/php-5-mysql-5-studienausgabe-broschiert/" title="PHP 5 / MySQL 5. Studienausgabe (Broschiert)">PHP 5 / MySQL 5. Studienausgabe (Broschiert)</a></li>
<li><a  href="http://robert-kummer.de/2009/03/05/versionierung-und-ticketverwaltung-fuer-lau/" title="Versionierung und Ticketverwaltung für lau">Versionierung und Ticketverwaltung für lau</a></li>
<li><a  href="http://robert-kummer.de/2010/07/23/kontrolle-ueber-den-mssql-server-erlangen/" title="Kontrolle über den MSSQL Server erlangen">Kontrolle über den MSSQL Server erlangen</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2009/04/24/sql-buddy-web-based-mysql-administration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Framework &#8211; A blank WordPress Theme Framework</title>
		<link>http://robert-kummer.de/2009/04/23/wp-framework-a-blank-wordpress-theme-framework/</link>
		<comments>http://robert-kummer.de/2009/04/23/wp-framework-a-blank-wordpress-theme-framework/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 06:54:10 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/?p=213</guid>
		<description><![CDATA[Während ich eigentlich über ein kleines und sehr hilfreiches Projekt im Web bloggen wollte, fiel mir im Changelog ein Eintrag bzgl. des WP-Frameworks auf. Also neugierig wie ich bin gleich mal geschaut &#8211; ich bin ja in kurzer Zeit zum &#8230; <a href="http://robert-kummer.de/2009/04/23/wp-framework-a-blank-wordpress-theme-framework/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a  rel="external nofollow" href="http://www.flickr.com/photos/25566432@N00/2574712880"><img class="alignright" style="border: 0pt none; margin-left: 8px; margin-right: 8px;" src="http://farm4.static.flickr.com/3178/2574712880_f71b39c644_m.jpg" border="0" alt="Ready for another WordCamp" hspace="8" width="240" height="230" align="left" /></a></p>
<p>Während ich eigentlich über ein kleines und sehr hilfreiches Projekt im Web bloggen wollte, fiel mir im Changelog ein Eintrag bzgl. des WP-Frameworks auf. Also neugierig wie ich bin gleich mal geschaut &#8211; ich bin ja in kurzer Zeit zum absoluten <a  title="WordPress" href="http://www.wordpress.org/" target="_blank">WordPress</a>-Fan avanciert.</p>
<p>Was ist also das <a  href="http://wpframework.com/">WP-Framework</a>? Nun, es ist quasi ein sauberes Theme, welches alle Notwendigkeiten mit sich bringt. Angefangen bei den einzelnen PHP-Vorlagen, über Artwork, bis hin zu <a  href="http://de.wikipedia.org/wiki/Suchmaschinenoptimierung" target="_blank"><acronym title="Search Engine Optimization">SEO</acronym></a>-freundlichen CSS-Klassen-Verwendungen.</p>
<p>Alles in allem ein sehr gelungenes Projekt, welches hoffentlich noch das ein oder andere Feature hinzufügen wird, wie zum Beispiel:</p>
<ul>
<li><a  href="http://de.wikipedia.org/wiki/Internationalisierung_(Softwareentwicklung)" target="_blank"><acronym title="Internationalization">I18N</acronym></a> &#8211; damit ich das Theme auch on-the-fly auf deutsch nutzen kann</li>
<li>eine zweite <a  title="WordPress Widgets" href="http://widgets.wordpress.com/" target="_blank">Widget-Area</a> oder Sidebar, damit ich auch diese Sidebar schnell und einfach aktivieren kann</li>
</ul>
<p>Seit dem 13. April gibt es das WP-Framework in <a  title="WP Framework 0.2.4.8" href="http://wordpress.org/extend/themes/download/wp-framework.0.2.4.8.zip" target="_blank">Version 0.2.4</a>. Diese Version setzt ein WordPress 2.7+ voraus.</p>
<p>Zugriff zum Repository gibt es unter <a  href="http://wpframework.googlecode.com/svn/">http://wpframework.googlecode.com/svn/</a>, der aktuelle Trunk kann folgendermaßen gezogen werden:</p>
<pre>svn co http://wpframework.googlecode.com/svn/trunk/</pre>
<p>Das Projekt, was ich ursprünglich hier vorstellen wollte heißt übrigens <a  title="Project Deploy" href="http://projectdeploy.org/" target="_blank">deploy</a>. Das werde ich alsbald nachholen.<br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2009/04/13/robert-kummerde-v60-oder-wordpress-die-erste/" title="robert-kummer.de v6.0 oder WordPress, die erste">robert-kummer.de v6.0 oder WordPress, die erste</a></li>
<li><a  href="http://robert-kummer.de/2005/08/13/entwicklungshilfe/" title="Entwicklungshilfe">Entwicklungshilfe</a></li>
<li><a  href="http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/" title="Wie suche ich in einem Array nach einem Textteil mit PHP?">Wie suche ich in einem Array nach einem Textteil mit PHP?</a></li>
<li><a  href="http://robert-kummer.de/2009/12/24/neue-suchqualitaet-in-wordpress-mit-lucene/" title="Neue Suchqualität in WordPress mit Lucene">Neue Suchqualität in WordPress mit Lucene</a></li>
<li><a  href="http://robert-kummer.de/2009/11/19/zend_xmlrpc_server-debuggen-so-gehts/" title="Zend_XmlRpc_Server debuggen &#8211; so gehts!">Zend_XmlRpc_Server debuggen &#8211; so gehts!</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2009/04/23/wp-framework-a-blank-wordpress-theme-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 5 / MySQL 5. Studienausgabe (Broschiert)</title>
		<link>http://robert-kummer.de/2009/04/22/php-5-mysql-5-studienausgabe-broschiert/</link>
		<comments>http://robert-kummer.de/2009/04/22/php-5-mysql-5-studienausgabe-broschiert/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 10:22:16 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/2009/04/29/php-5-mysql-5-studienausgabe-broschiert/</guid>
		<description><![CDATA[Doppellösung PHP und MySQL in einem Doppelband zum Preis von einem &#8212; mit allen nötigen Programmen und Dateien auf CD-ROM: Die Studienausgabe PHP 5 / MySQL 4 macht möglich, wovon Einsteiger bisher nur träumten. PHP und MySQL satt. Das Gespann &#8230; <a href="http://robert-kummer.de/2009/04/22/php-5-mysql-5-studienausgabe-broschiert/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amazon.de/PHP-5-MySQL-5-Studienausgabe/dp/3772369197/ref=sr_1_1/275-1019094-5237458?ie=UTF8&#038;s=books&#038;qid=1240218479&#038;sr=8-1?ie=UTF8&#038;tag=robertkummer-21"><img style="float:left;width: 150px;height:150px;margin-right: 10px;" src="http://ecx.images-amazon.com/images/I/212xKXb0BXL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA198_SH20_OU03_.jpg" alt="PHP 5 / MySQL 5. Studienausgabe" /></a></p>
<p>Doppellösung PHP und MySQL in einem Doppelband zum Preis von einem &#8212; mit allen nötigen Programmen und Dateien auf CD-ROM: Die Studienausgabe PHP 5 / MySQL 4 macht möglich, wovon Einsteiger bisher nur träumten. PHP und MySQL satt.  Das Gespann PHP und MySQL hat sich weitläufig etabliert und genießt Kult-Status in der Webprogrammierung. Gut wer sich damit auskennt. Und wo Einsteigen, wenn man Anfangen will? Matthias Kannengießer stellt mit seinem Doppelband einen umfassenden Zugang in die Welt von PHP 5 und MySQL 4 zur Verfügung, führt in beiden Anwendungen getrennt und zusätzlich in ihre Zusammenarbeit ein und lässt auch fortgeschrittene Themen nicht aus.  Los geht es mit den Sprachelementen und der Syntax von PHP, gefolgt von den ersten Programmierschritten und Lösungen für den Programmieralltag. Darauf folgen fortgeschrittenen Programmierthemen, die Neuerungen in PHP 5 und schließlich die Arbeit von PHP mit MySQL. Im Teil zu MyS <a  href="http://www.amazon.de/PHP-5-MySQL-5-Studienausgabe/dp/3772369197/ref=sr_1_1/275-1019094-5237458?ie=UTF8&#038;s=books&#038;qid=1240218479&#038;sr=8-1?ie=UTF8&#038;tag=robertkummer-21" title="More at Amazon">weiter&#8230;</a><br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2009/05/17/einstieg-in-php-5-und-mysql-5/" title="Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)">Einstieg in PHP 5 und MySQL 5. Einführung in die Webprogrammierung (Gebundene Ausgabe)</a></li>
<li><a  href="http://robert-kummer.de/2009/05/08/php-und-mysql-easy-taschenbuch/" title="PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)">PHP und MySQL Easy: Dynamik für Ihre Webseiten. Leicht, klar, sofort (Taschenbuch)</a></li>
<li><a  href="http://robert-kummer.de/2009/04/24/sql-buddy-web-based-mysql-administration/" title="SQL Buddy &#8211; Web based MySQL administration">SQL Buddy &#8211; Web based MySQL administration</a></li>
<li><a  href="http://robert-kummer.de/2009/03/05/versionierung-und-ticketverwaltung-fuer-lau/" title="Versionierung und Ticketverwaltung für lau">Versionierung und Ticketverwaltung für lau</a></li>
<li><a  href="http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/" title="Wie suche ich in einem Array nach einem Textteil mit PHP?">Wie suche ich in einem Array nach einem Textteil mit PHP?</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2009/04/22/php-5-mysql-5-studienausgabe-broschiert/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>robert-kummer.de v6.0 oder WordPress, die erste</title>
		<link>http://robert-kummer.de/2009/04/13/robert-kummerde-v60-oder-wordpress-die-erste/</link>
		<comments>http://robert-kummer.de/2009/04/13/robert-kummerde-v60-oder-wordpress-die-erste/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 14:01:47 +0000</pubDate>
		<dc:creator>rok</dc:creator>
				<category><![CDATA[Privates]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://robert-kummer.de/?p=137</guid>
		<description><![CDATA[Version 6.0 geht online&#8230;und zwar diesmal mit WordPress. Als Theme hab ich das Titan mal abgeändert und ich benutze folgende Plugins (für die, die es nachbauen wollen ): All in One SEO Pack Social Bookmarking RELOADED Dagon Design Sitemap Generator &#8230; <a href="http://robert-kummer.de/2009/04/13/robert-kummerde-v60-oder-wordpress-die-erste/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Version 6.0 geht online&#8230;und zwar diesmal mit <a  href="http://www.wordpress.org" target="_blank">WordPress</a>. Als Theme hab ich das Titan mal abgeändert und ich benutze folgende Plugins (für die, die es nachbauen wollen <img src='http://robert-kummer.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ):</p>
<ul>
<li><a  title="Plugin-Website besuchen" href="http://semperfiwebdesign.com/">All in One SEO Pack</a></li>
<li><a  title="Plugin-Website besuchen" href="http://www.valent-blog.eu/social-bookmarking-reloaded/">Social Bookmarking RELOADED</a></li>
<li><a  title="Plugin-Website besuchen" href="http://www.dagondesign.com/articles/sitemap-generator-plugin-for-wordpress/">Dagon Design Sitemap Generator</a></li>
<li><a  title="Plugin-Website besuchen" href="http://yoast.com/wordpress/analytics/">Google Analytics for WordPress</a></li>
<li><a  title="Plugin-Website besuchen" href="http://www.boloxe.com/techblog/">kPicasa Gallery</a></li>
<li><a  title="Plugin-Website besuchen" href="http://www.tahapaksu.com/wordpress/lastfm-wordpress-plugin">Last.fm RPS</a></li>
<li><a  title="Plugin-Website besuchen" href="http://www.tomsdimension.de/wp-plugins/tiny-contact-form">Tiny Contact Form</a></li>
<li><a  title="Plugin-Website besuchen" href="http://wordpress.org/extend/plugins/wp-syntax/">WP-Syntax</a></li>
</ul>
<p>Den überall-empfohlenen <a  title="Plugin-Website besuchen" href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a> habe ich deaktiviert, weil er Probleme mit dynamischen Inhalten wie dem Last.FM Widget macht. Außerdem hab ich nicht so eine hochfrequentierte Seite, wie manch anderer.</p>
<p>Bisher bin ich ganz zufrieden mit der 2.7.1, allerdings finde ich das Theme installieren absolut nervig, obgleich das Plugin installieren so einfach von der Hand geht&#8230;vielleicht kommt da ja bald etwas Abhilfe.<br />
<h3 class='related_post_title'>Das könnte Sie auch interessieren:</h3>
<ul class='related_post'>
<li><a  href="http://robert-kummer.de/2009/04/23/wp-framework-a-blank-wordpress-theme-framework/" title="WP Framework &#8211; A blank WordPress Theme Framework">WP Framework &#8211; A blank WordPress Theme Framework</a></li>
<li><a  href="http://robert-kummer.de/2010/01/27/wie-suche-ich-in-einem-array-nach-einem-textteil-mit-php/" title="Wie suche ich in einem Array nach einem Textteil mit PHP?">Wie suche ich in einem Array nach einem Textteil mit PHP?</a></li>
<li><a  href="http://robert-kummer.de/2009/12/24/neue-suchqualitaet-in-wordpress-mit-lucene/" title="Neue Suchqualität in WordPress mit Lucene">Neue Suchqualität in WordPress mit Lucene</a></li>
<li><a  href="http://robert-kummer.de/2009/11/19/zend_xmlrpc_server-debuggen-so-gehts/" title="Zend_XmlRpc_Server debuggen &#8211; so gehts!">Zend_XmlRpc_Server debuggen &#8211; so gehts!</a></li>
<li><a  href="http://robert-kummer.de/2009/09/01/total-tolles-twitter-wordpress-plugin/" title="Total tolles Twitter-WordPress-Plugin">Total tolles Twitter-WordPress-Plugin</a></li>
</ul>
<p><a  class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://robert-kummer.de/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://robert-kummer.de/2009/04/13/robert-kummerde-v60-oder-wordpress-die-erste/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
