<?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>Martin Specht &#187; PHP</title>
	<atom:link href="http://www.martin-specht.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.martin-specht.com</link>
	<description>Multimedia-Producer</description>
	<lastBuildDate>Sun, 09 Oct 2011 21:35:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Development: Browserflut</title>
		<link>http://www.martin-specht.com/2009/10/26/development-browserflut/</link>
		<comments>http://www.martin-specht.com/2009/10/26/development-browserflut/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 14:23:44 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.martin-specht.com/?p=40</guid>
		<description><![CDATA[Webentwickler kennen das Problem: T&#228;glich kommen neue, schnellere, bessere Browser auf den Markt und je nach Anwenderkreis werden diese auch genutzt. Was jedoch des Anwenders Freud, ist des Entwicklers leid, denn nicht jeder nutzt die immer neuen Features neuerer Browserversionen. Mittelst&#228;ndler und Gro&#223;unternehmen rangieren teilweise noch mit dem Internet Explorer 6 im Internet, die Updates sind auch so schnell nicht geplant. Also bleibt Webentwicklern nichts weiter &#252;brig, als seine Systeme abw&#228;rtskompatibel zu produzieren. Doch woher nimmt man altes Softwareequipment, wenn der Standard schon weit fortgeschritten ist?]]></description>
			<content:encoded><![CDATA[<h2>Das Problem</h2>
<p>Webentwickler kennen das Problem: T&#228;glich kommen neue, schnellere, bessere Browser auf den Markt und je nach Anwenderkreis werden diese auch genutzt. Was jedoch des Anwenders Freud, ist des Entwicklers Leid, denn nicht jeder nutzt die immer neuen Features neuerer Browserversionen. Mittelst&#228;ndler und Gro&#223;unternehmen rangieren teilweise noch mit dem Internet Explorer 6 im Internet, die Updates sind auch so schnell nicht geplant. Also bleibt Webentwicklern nichts weiter &#252;brig, als seine Systeme abw&#228;rtskompatibel zu produzieren. Doch woher nimmt man altes Softwareequipment, wenn der Standard schon weit fortgeschritten ist?</p>
<h2>Eine L&#246;sung</h2>
<p>Microsoft hat es hier einmal geschafft, sich durch besonderen Service hervor zu heben, denn der Betriebssystem-Spezialist liefert nicht nur die Virtualisierungssoftware f&#252;r alte Systeme, sondern bringt auch gleich seinen Browser auf verschiedenen Plattformen mit.</p>
<p>Mit Microsoft Virtual PC und den entsprechenden Images stehen einem Internet Explorer 6 &#8211; 8 in den XP und Vista-Umgebungen zur Verf&#252;gung. Sofern der Entwicklungsrechner mit einigerma&#223;en aktueller Hardware ausgestattet ist, l&#228;sst diese Kombination ein doch recht komfortables Entwickeln zu, das Beste: das ganze kostet bis auf die vorhandene Internet-Verbindung keinen Cent!</p>
<p>Unter <a title="Microsoft Virtual PC Homepage" href="http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx" target="_blank">http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx</a> stellt Microsoft den Virtual PC zur Verf&#252;gung, die entsprechenden Images sind unter <a title="Microsoft Virtual Images" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&amp;displaylang=en#filelist" target="_blank">http://www.microsoft.com/downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&amp;displaylang=en#filelist</a> verf&#252;gbar.</p>
<p>Nat&#252;rlich geht nichts ohne pers&#246;nliche Anpassung und daher sollte man in der virtuellen Umgebung die Region doch auf die eigenen Bed&#252;rfnisse umstellen. &#220;ber Start &gt; Control Panel &gt; Regional and Language Options die Auswahl German (Germany) stellt schon einmal die deutschen Zahlen- und Datumsformate ein. Im gleichen Fenster im Register Languages im Abschnitt  Text services and input languages verbirgt sich unter dem Button Details die M&#246;glichkeit, das deutsche Eingabeschema hinzuzuf&#252;gen. Damit lassen sich dann auch die deutschen Umlaute nutzen.</p>
<p>Aufgrund des englischen Tastaturschemas hat Microsoft die AltGr-Taste als Hosttaste verwendet. Leider ben&#246;tigt man die Taste AltGr im deutshcen Sprachschema recht h&#228;ufig, so dass es doch recht hilfreich ist, eine Umbelegung auf die rechte StrG-taste vorzunehmen. ie l&#228;sst sich im Virtual PC Konsolenfenster &#252;ber Datei &gt; Optionen &gt; Tastatur erledigen. Einfach im Fenster in das Feld &#8220;Aktuelle Hosttaste&#8221; klciken und die rechte Strg-Taste dr&#252;cken. Ein Klick auf Ok best&#228;tigt die neue Einstellung.</p>
<h2>Non-IE-Browser</h2>
<p>Die L&#246;sung f&#252;r Internet Explorer ist nun klar. Allerdings gibt es mehr als nur die Microsoft-Welt und so m&#252;ssen nat&#252;rlich auch Opera und Co dran glauben. Allerdings ist Microsoft auch hier bereits so nett, uns die Basis zu liefern, denn in die virtuellen Umgebungen lassen sich Alternativbrowser installieren und so kann man in eine neue virtuelle Maschine einen Download von Firefox oder Opera installieren und hat ohne M&#252;he die neue Testumgebung parat. Wo bekommt man die alten Browser her? Auch hier gibt es Spezialisten und so hat man unter <a title="Directory of old Browsers" href="http://browsers.evolt.org/" target="_blank">http://browsers.evolt.org/</a> eine ganze Sammlung &#228;lterer und neuerer Browser zusammengestellt, welche sich recht m&#252;helos downloaden und installieren lassen.</p>
<h2>Nachteile</h2>
<p>Nat&#252;rlich gibt es auch hier Kehrseiten und man sollte diese kennen, bevor man zu einem produktiven Einsatz des Systems kommt:</p>
<ol>
<li>Die aktuellen Microsoft-Images arbeiten nur bis zum Januar 2010, dann schalten sich die Betriebssysteme tot. Sofern man hier also viel Konfigurationsaufwand in die Images stecken muss, um seine virtuelle Umgebung zu erhalten, sollte man &#252;berlegen, ob es dann nicht sinnvoller ist, in einer virtuellen Umgebung das System selbst aufzusetzen. Hierbei entstehen dann jedoch auf legalem Wege Kosten f&#252;r die entsprechenden Betriebssysteme.</li>
<li>Die virtuelle Umgebung ben&#246;tigt Festplattenkapazit&#228;t. Pro Installation muss mit circa dreifacher Gr&#246;&#223;e f&#252;r die Installation sowie mit circa doppelter Gr&#246;&#223;e der Original-Images f&#252;r den Betrieb einer virtuellen Umgebung gerechnet werden.</li>
<li>Parallelbetrieb von virtuellen Umgebungen ist m&#246;glich, jedoch ben&#246;tigt jede einzelne Umgebung entsprechenden Arbeitsspreicher sowie CPU-Kapazit&#228;t. Muss man also &#252;ber mehrere Umgebungen gleichzeitig testen, kann es hilfreich sien, trotzdem mehrere Rechner zu nutzen, auf denen dann die einzelnen Umgebungen laufen</li>
</ol>
<p>Fazit</p>
<p>Mit der gezeigten L&#246;sung gibt es einen stabilen Weg, verschiedene Umgebungen abzubilden und mit diesen zu entwickeln. Tests und Verhalten sind mit diesen Mitteln aussagekr&#228;ftiger als m&#246;gliche Hacks f&#252;r Parallelinstallationen, ebenso sind Entwicklungsumgebung und Testsystem voneinander getrennt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martin-specht.com/2009/10/26/development-browserflut/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rettungsversuch? CMS webEdition wird Open Source</title>
		<link>http://www.martin-specht.com/2008/11/04/rettungsversuch-cms-webedition-wird-open-source/</link>
		<comments>http://www.martin-specht.com/2008/11/04/rettungsversuch-cms-webedition-wird-open-source/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 14:08:24 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[webEdition]]></category>

		<guid isPermaLink="false">http://www.martin-specht.com/?p=75</guid>
		<description><![CDATA[Open Source ist eine feine Sache, vor allem dann, wenn man die Vorteile von Open Source zu sch&#228;tzen wei&#223;. So, oder vermutlich so &#228;hnlich, muss sich die Living-e AG das Konzept erdacht haben, nach welchem sie entschied, webEdition als Open Source anzubinden. In meiner Vergangenheit bin ich dem System mehrfach begegnet und bis auf ein [...]]]></description>
			<content:encoded><![CDATA[<p>Open Source ist eine feine Sache, vor allem dann, wenn man die Vorteile von Open Source zu sch&#228;tzen wei&#223;. So, oder vermutlich so &#228;hnlich, muss sich die Living-e AG das Konzept erdacht haben, nach welchem sie entschied, webEdition als Open Source anzubinden.</p>
<p>In meiner Vergangenheit bin ich dem System mehrfach begegnet und bis auf ein paar kleine, aber feine Codeschnipsel konnte ich dem System nahezu nichts abgewinnen. In der uns von der Living-e AG &#252;bermittelten Version waren offensichtlich alte PHP4-Codefetzen zusammen mit neuen Funktionen in PHP5 ausgeliefert worden. Die Projektstruktur war dadurch mehr als un&#252;bersichtlich und das gesamte Projekt war logisch nicht ganz nachvollziehbar aufgebaut. Es handelte sich dabei um ein Stable-Release, welches wir niemals zum Projekteinsatz brachten.</p>
<p>Das gesamte System machte den Eindruck, als sei es mit altem und neuem Code geflickt worden. Etliche Features lie&#223;en sich auch nicht quer verbinden. Ein Austausch von Funktionen gestaltete sich daher ebenso schwierig wie die Anpassung der Templates an eigene Bed&#252;rfnisse, welche das System erweiterten.</p>
<p>Aus diesem Grund l&#228;&#223;t hier der EIndruck nicht los, dass Living-e versucht, die in die Jahre gekommenen Kinder kurz vor dem Sterben mit Hilfe der Open Source-Gemeinde zu retten. Bleibt Living-e nur zu w&#252;nschen, dass ihnen dies trotz vielfach besserer Konkurrenz mit der Open Source-Version 6 gelingt.</p>
<p><a title="CMS webEdition wird Open Source" href="http://www.heise.de/newsticker/CMS-webEdition-wird-Open-Source--/meldung/118326" target="_blank">Zur Meldung auf Heise.de</a></p>
<p><a title="CMS Webedition jetzt Open Source" href="http://createordie.de/cod/news/CMS-Webedition-jetzt-Open-Source-045852.html" target="_blank">Zur Meldung aus dem Software &amp; Support Verlag</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.martin-specht.com/2008/11/04/rettungsversuch-cms-webedition-wird-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progressbars in PHP-Projekten</title>
		<link>http://www.martin-specht.com/2008/10/14/progressbars-in-php-projekten/</link>
		<comments>http://www.martin-specht.com/2008/10/14/progressbars-in-php-projekten/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 12:45:58 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[APC]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Progressbar]]></category>
		<category><![CDATA[Status]]></category>
		<category><![CDATA[Statusanzeige]]></category>
		<category><![CDATA[Upload]]></category>

		<guid isPermaLink="false">http://www.martin-specht.com/?p=63</guid>
		<description><![CDATA[Progressbars sind mittlerweile ein g&#228;ngiges Mittel, um Statusanzeigen zu realisieren. Seit 2003 nutze ich diese in verschiedenen Projekten, jedoch waren die Mittel, diese zu regeln, in der Vergangenheit eher holperig, unkomfortabel oder instabil gel&#246;st. Musste in Projekt umziehen oder gab es neue Browser oder auch Flash-Versionen, begann die Konfiguration und das R&#228;tselraten von neuem. CGI und Flash oder per Output-Buffer gesteuerte Javascript-Bars waren immer instabil und hielten selten l&#228;nger als ein Jahr in einem Projekt aus.]]></description>
			<content:encoded><![CDATA[<h2>Einf&#252;hrung</h2>
<p>Progressbars sind mittlerweile ein g&#228;ngiges Mittel, um Statusanzeigen zu realisieren. Seit 2003 nutze ich diese in verschiedenen Projekten, jedoch waren die Mittel, diese zu regeln, in der Vergangenheit eher holperig, unkomfortabel oder instabil gel&#246;st. Musste in Projekt umziehen oder gab es neue Browser oder auch Flash-Versionen, begann die Konfiguration und das R&#228;tselraten von neuem. CGI und Flash oder per Output-Buffer gesteuerte Javascript-Bars waren immer instabil und hielten selten l&#228;nger als ein Jahr in einem Projekt aus.</p>
<p>Dank der &#8220;Erfindung&#8221; von Ajax war man daraufhin in der Lage, f&#252;r Prozesse, die nach einem Request durchgef&#252;hrt wurden, bereits gute und fl&#252;ssige Prozessanzeigen zu realisieren. In verschiedenen Projekten habe ich beispielsweise Datensammlungen oder das Erstellen von ZIP-Archiven visuell dargestellt.</p>
<p>Mit der PHP-Version 5.2 l&#228;sst sich nun auch &#252;ber die Extension APC ein Upload mit einer Progress-Anzeige sinnvoll l&#246;sen, denn im Wesentlichen ver&#228;ndert sich nichts. Um dieses Feature zu nutzen, sind jedoch ein paar Vorbereitungen n&#246;tig:</p>
<h2>1. Installation von APC</h2>
<p>Ben&#246;tigt werden:</p>
<ul>
<li>Root-Zugriff auf die Kommandozeile</li>
<li>ein installiertes und auf Kommandozeilenebene funktionsf&#228;higes PEAR bzw. PECL</li>
<li>Internet-Zugriff</li>
</ul>
<p>Zun&#228;chst einmal wird APC mittels PECL installiert:</p>
<blockquote><p>testserver:~# pecl install apc</p></blockquote>
<p>Bei der darauffolgenden Frage die Option APCX &#228;ndern auf &#8220;NO&#8221;</p>
<blockquote><p>Use apxs to set compile flags (if using APC with Apache)? [yes] : no</p></blockquote>
<p>Nun folgen etliche Zeilen Kompilierung und Installation. Abh&#228;ngig vom System (in meiner Debian-Testumgebung ist es zwingend notwendig) muss in die php.ini bzw. im Debian in eine separate Datei</p>
<blockquote><p>extension=apc.so</p></blockquote>
<p>eingetragen werden.</p>
<div id="attachment_64" class="wp-caption alignleft" style="width: 310px"><a href="http://www.martin-specht.com/wp-content/uploads/2008/10/apc.gif"><img class="size-medium wp-image-64" title="APC-Eintrag" src="http://www.martin-specht.com/wp-content/uploads/2008/10/apc-300x100.gif" alt="AUsschnitt aus der PHP-Info zum APC-Eintrag" width="300" height="100" /></a><p class="wp-caption-text">Ausschnitt aus der PHP-Info zum APC-Eintrag</p></div>
<p>Ein Neustart des Webservers sollte nun &#8211; oh Wunder &#8211; die Extension geladen haben. Dies l&#228;sst sich am einfachsten &#220;ber eine Ausgabe der phpinfo(); pr&#252;fen, hier sollte es einen neuen Eintrag zu APC geben. Sofern APC-Support &#8220;enabled&#8221; ist, kann es weitergehen mit dem PHP-Teil der Installation. Sollte das Modul noch nicht aktiviert sein, hilft in der Regel ein Basiseintrag in der php.ini:</p>
<blockquote><p>[APC]<br />
apc.enable_cli=0<br />
apc.enabled=1<br />
apc.num_files_hint=1024<br />
apc.optimization=0<br />
apc.rfc1867=1<br />
apc.shm_segments=1<br />
apc.shm_size=128<br />
apc.ttl=7200<br />
apc.user_ttl=7200</p></blockquote>
<h2>2. PHP-Dateien und deren Funktionsweise</h2>
<p>Grunds&#228;tzlich funktioniert das Uploaden nun in der Weise, dass PHP in der Lage ist, einen weiteren Request aus der gleichen Quelle parallel zum laufenden Request zu beantworten. Dies bedeutet, dass man eigentlich nur daf&#252;r sorgen muss, dass PHP w&#228;hrend des Uploads brav antwortet, wieviel Upload statt fand. Hierf&#252;r sind folgende Codeschnipsel notwendig:</p>
<h3>Das Formular in der HTML-Datei:</h3>
<p><code>&lt;form action="upload.php" method="post" target="uploadFrame" enctype="multipart/form-data"&gt;<br />
</code></p>
<p><code> &lt;input type="file" name="upload" /&gt;<br />
&lt;input type="hidden" name="APC_UPLOAD_PROGRESS" value="&lt;?php echo </code><code> md5(uniqid(rand(), true)); ?&gt;" /&gt;</code><code><br />
&lt;button type="submit" onclick="this.disabled=true;   setTimeout('requestStatus(\''+this.form.APC_UPLOAD_PROGRESS.value+'\')', 1000);"&gt;Abschicken&lt;/button&gt;<br />
&lt;/form&gt;</code></p>
<p>Zu beachten ist, dass APC mit dem versteckten Feld APC_UPLOAD_PROGRESS mitgeteilt wird, wie die eindeutige Id f&#252;r diesen Upload lautet. Der Bezeichner muss mit der Angabe apc.rfc1867_name in der PHP-Konfiguration &#252;berein stimmen.</p>
<p>Zus&#228;tzlich muss in den HTML-Code ein IFrame eingebaut werden, an welches die Upload-Datei geschickt wird. Dies wird notwendig, weil alle g&#228;ngigen Browser durch das Abschicken des Formulars im gleichen Fenster die Seite blockieren w&#252;rde und &#196;nderungen im HTML-Code dann nicht mehr m&#246;glich sind.</p>
<p><code>&lt;iframe src="blank.html" name="uploadFrame" style="display:none"&gt;&lt;/iframe&gt;</code></p>
<p>Zus&#228;tzlich sollte fehlt nat&#252;rlich noch ein Platz, um den Upload-Status anzuzeigen. Hier sind mehrere Varianten denkbar, f&#252;r einen ersten Test reicht zun&#228;chst erst einmal ein leeres DIV.</p>
<p><code>&lt;div id="divStatus"&gt;&lt;/div&gt;</code></p>
<h3>Die Datei f&#252;r den Empfang des Uploads (upload.php)</h3>
<p>An dieser simplen Funktion &#228;ndert sich genau nichts, der Upload funktioniert hier genau gleich:</p>
<p><code><br />
&lt;?php<br />
if (isset($_FILES['upload'])) {<br />
move_uploaded_file($_FILES['upload']['tmp_name'], 'upload/'.$_FILES['upload']['name']);<br />
}<br />
?&gt;<br />
</code></p>
<p>Nat&#252;rlich muss man hier selbst f&#252;r Sicherheit etc. sorgen, aber im Grundsatz ist der Upload identisch.</p>
<h3>Die Datei f&#252;r die Statusmeldung (status.php)</h3>
<p>Ihre einzige Aufgabe ist es, den Upload anhand der eindeutigen Id zu identifizieren und mit Hilfe der Funktion apc_fetch() den aktuellen Status auszulesen. Dieser muss dann nur noch entsprechend aufbereitet werden, um im richtigen Format an die HTML-Seite &#252;bermittelt zu werden:</p>
<p><code>&lt;?php<br />
$arr_status = apc_fetch('upload_'.$_GET['</code><code>str_apcId</code><code>']);<br />
printf("&lt;pre&gt;%s&lt;/pre&gt;", print_r($arr_status, true));<br />
?&gt;</code></p>
<h3>Der Javascript-Teil</h3>
<p><code>function requestStatus(str_apcId)' {</code></p>
<p>var request = new Request({<br />
url: &#8216;/status.php?apcId=&#8217;+str_apcId,<br />
onComplete: function(responseText) {<br />
$(&#8216;uploadStatus&#8217;).innerHTML = responseText;<br />
}<br />
}).send();<br />
}</p>
<p>Der Javascript-Part sollte hier sehr individuell ausfallen, dies ist insbesondere abh&#228;ngig vom genutzten Javascript-Framework, von der Art, den Status anzuzeigen sowie den technischen M&#246;glichkeiten. Das gezeigte Beispiel w&#228;re eine M&#246;glichkeit in MooTools, aber auch hier gilt, dass sowohl die Schnittstelle zum Server als auch das Javascript abgesichter sein sollten gegen einen Fremdzugriff.</p>
<p>Quellen:</p>
<p><a title="Debian BLOG" href="http://www.debianblogs.com/debian_apc_alternative_php_cache" target="_blank">http://www.debianblogs.com/debian_apc_alternative_php_cache</a></p>
<p><a title="Coder Wiki" href="http://www.coder-wiki.de/HowTos/PHP-AJAX-Upload-Fortschritt" target="_blank">http://www.coder-wiki.de/HowTos/PHP-AJAX-Upload-Fortschritt</a></p>
<p><a title="MooTools Request-Objekt" href="http://mootools.net/docs/Request/Request" target="_blank">http://mootools.net/docs/Request/Request</a></p>
<h2>Update:</h2>
<p>Wer Probleme bei der Installation mit PECL bekommt, sollte &#252;berpr&#252;fen, ob folgende Pakete installiert und verf&#252;gbar sind:<br />
<code>php5-dev<br />
apache2-dev<br />
build-essentials</code></p>
<p>Die Namen der Pakete sind zwischen den Distributionen unterschiedlich, wichtig ist, dass sowohl von PHP als auch vom installierten Apache die Development-Pakete zur Verf&#252;gung stehen und alle notwendigen Bibliotheken installiert sind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martin-specht.com/2008/10/14/progressbars-in-php-projekten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Endlich da: &#8220;Das Symfony Framework&#8221; von Timo Haberkern</title>
		<link>http://www.martin-specht.com/2008/07/05/endlich-da-das-symfony-framework-von-timo-haberkern/</link>
		<comments>http://www.martin-specht.com/2008/07/05/endlich-da-das-symfony-framework-von-timo-haberkern/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 07:36:58 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://www.martin-specht.com/?p=27</guid>
		<description><![CDATA[Lange Zeit war es angek&#252;ndigt, bei Amazon erwartete man das Buch &#8220;Das Symfony Framework&#8221; von Timo Haberkern bereits im Februar &#8211; vergeblich. Mittlerweile hat es das Werk jedoch in die Buchregale geschafft. Es vermittelt Grundwissen und Projekterfahrungen mit dem Symfony Framework 1.1 und zeigt, wie man es mit mit umfangreichen Plugins erweitern und seinen Bed&#252;rfnissen [...]]]></description>
			<content:encoded><![CDATA[<p>Lange Zeit war es angek&#252;ndigt, bei Amazon erwartete man das Buch &#8220;Das Symfony Framework&#8221; von Timo Haberkern bereits im Februar &#8211; vergeblich. Mittlerweile hat es das Werk jedoch in die Buchregale geschafft. Es  vermittelt Grundwissen und Projekterfahrungen mit dem Symfony Framework 1.1 und zeigt, wie man es mit mit umfangreichen Plugins erweitern und seinen Bed&#252;rfnissen anpassen kann. Dass Buch kostet 29,90 EUR und ist im enwickler.press-Verlag erschienen.</p>
<p><a href="http://www.amazon.de/gp/offer-listing/393908414X?ie=UTF8&amp;tag=janblnde-21&amp;linkCode=am2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=393908414X">Das Symfony Framework: Enterprise Anwendungen mit PHP</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.de/e/ir?t=janblnde-21&amp;l=as2&amp;o=3&amp;a=393908414X" border="0" alt="" width="1" height="1" /></p>
<p><a href="http://www.symfony-zone.com/" target="_blank">www.symfony-zone.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.martin-specht.com/2008/07/05/endlich-da-das-symfony-framework-von-timo-haberkern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projekt: Vemasys-Server</title>
		<link>http://www.martin-specht.com/2008/06/29/projekt-vemasys-server/</link>
		<comments>http://www.martin-specht.com/2008/06/29/projekt-vemasys-server/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 19:48:44 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[PHP-Projekte]]></category>
		<category><![CDATA[4selected]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.martin-specht.com/?p=22</guid>
		<description><![CDATA[VEMASYS ist ein PHP/MySQL-Framework von 4selected mediendesign. Dieses Framework bietet Autoh&#228;usern die M&#246;glichkeit, neben Ihren Firmenwebseiten st&#228;ndig aktuelle Gebrauchtwageninformationen aus verschiedenen Fremdsystemen zu importieren und dort gesammelt darzustellen. F&#252;r diese Anforderungen war es notwendig, eine eigene Serverarchitektur zu schaffen, welche in der Lage ist, die entsprechenden Informationen &#8220;on demand&#8221; abzurufen und zu verarbeiten. Ebenso ist [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.4selected.de" target="_blank"><img class="alignleft size-medium wp-image-23" style="border: 1px solid black; margin: 10px; float: left;" title="server_271" src="http://www.martin-specht.com/wp-content/uploads/2008/06/server_271.jpg" alt="VEMASYS-Server" width="271" height="252" /></a> VEMASYS ist ein PHP/MySQL-Framework von 4selected mediendesign. Dieses Framework bietet Autoh&#228;usern die M&#246;glichkeit, neben Ihren Firmenwebseiten st&#228;ndig aktuelle Gebrauchtwageninformationen aus verschiedenen Fremdsystemen zu importieren und dort gesammelt darzustellen.</p>
<p>F&#252;r diese Anforderungen war es notwendig, eine eigene Serverarchitektur zu schaffen, welche in der Lage ist, die entsprechenden Informationen &#8220;on demand&#8221; abzurufen und zu verarbeiten. Ebenso ist f&#252;r die Bildkonvertierung der Bilddaten ein entsprechend sinnvolles technisches Konzept notwendig, um Lasten auf dem Server sinnvoll zu verteilen.</p>
<p>Das System basiert auf PHP/MySQL und ist f&#252;r besonders hohe Anforderungen auch auf entfernten Servern betreibbar. F&#252;r die <a title="Motena" href="http://www.motena.de" target="_blank">Motena AG</a> sowie f&#252;r <a title="Mobilpool" href="http://www.mobil-pool.de" target="_blank">Osterkamp Automobile</a> habe ich die Serversystem aufgesetzt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martin-specht.com/2008/06/29/projekt-vemasys-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webseite: Schneewittchen</title>
		<link>http://www.martin-specht.com/2008/06/29/webseite-schneewittchen/</link>
		<comments>http://www.martin-specht.com/2008/06/29/webseite-schneewittchen/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 14:08:37 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Webseite]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.martin-specht.com/?p=18</guid>
		<description><![CDATA[Schneewittchen ist eine K&#252;nstlerformation aus Hannover. Sie haben mich beauftragt, Ihre Webseite zu betreuen. Das Projekt ist ein Low-Budget-Projekt, aus diesem Grund habe ich hier Wert auf Experimente mit Effekten und der 100%igen XHTML-Umsetzung gelegt. Weiterhin sind hier Darstellungselemente wie Accordion und Google-Maps umgesetzt. Ein weiterer wichtiger Punkt war die google-taugliche Umsetzung und das Verbessern [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.schneewittchenmusik.de" target="_blank"><img class="alignleft alignnone size-medium wp-image-19" style="margin: 10px; float: left;" title="schneewittchen_271" src="http://www.martin-specht.com/wp-content/uploads/2008/06/schneewittchen_271.gif" alt="Schneewittchen" width="271" height="136" /></a>Schneewittchen ist eine K&#252;nstlerformation aus Hannover. Sie haben mich beauftragt, Ihre Webseite zu betreuen. Das Projekt ist ein Low-Budget-Projekt, aus diesem Grund habe ich hier Wert auf Experimente mit Effekten und der 100%igen XHTML-Umsetzung gelegt. Weiterhin sind hier Darstellungselemente wie Accordion und Google-Maps umgesetzt.</p>
<p>Ein weiterer wichtiger Punkt war die google-taugliche Umsetzung und das Verbessern des Google-Rankings. Hier war es wichtig, das bestehende Ranking mindestens zu behalten zu verbessern. Eine Suche nach <a title="Suche bei Google" href="http://www.google.de?q=schneewittchen" target="_blank">Schneewittchen bei Google</a> zeigt diese Webseite auf Position 1 nach Wikipedia mit der Einschr&#228;nkung &#8220;deutsch&#8221; sowie Platz 2 nach Wikipedia ohne weitere Einschr&#228;nkung.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martin-specht.com/2008/06/29/webseite-schneewittchen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projekt: e-loxx</title>
		<link>http://www.martin-specht.com/2008/06/28/projekt-e-loxx/</link>
		<comments>http://www.martin-specht.com/2008/06/28/projekt-e-loxx/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 10:22:33 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[PHP-Projekte]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Konzeption]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekte]]></category>

		<guid isPermaLink="false">http://www.martin-specht.com/?p=16</guid>
		<description><![CDATA[&#8220;e-loxx&#8221; ist ein Facility-Management-Werkzeug der e-grafixx GmbH. Es entwickelte sich aus Anforderungen eines gro&#223;en internationalen Finanzunternehmens und wird mittlerweile auch f&#252;r weitere Kunden eingesetzt. Das System ist ein klassisches PHP-/MySQL-Projekt, welches bereits im Jahr 2004 AJAX-Technologien ausnutzte. In diesem System war ich in der technischen Konzeption und bei der Konzeption des Oberfl&#228;chendesigns involviert. Weiterhin war [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-23" style="border: 1px solid black; margin: 10px; float: left;" title="eloxx_271" src="http://www.martin-specht.com/wp-content/uploads/2008/07/elxx_271.jpg" alt="e-loxx Login-Screen" width="271" height="219" /></p>
<p>&#8220;e-loxx&#8221; ist ein Facility-Management-Werkzeug der e-grafixx GmbH. Es entwickelte sich aus Anforderungen eines gro&#223;en internationalen Finanzunternehmens und wird mittlerweile auch f&#252;r weitere Kunden eingesetzt. Das System ist ein klassisches PHP-/MySQL-Projekt, welches bereits im Jahr 2004 AJAX-Technologien ausnutzte.</p>
<p>In diesem System war ich in der technischen Konzeption und bei der Konzeption des Oberfl&#228;chendesigns involviert. Weiterhin war ich als Entwickler f&#252;r die erste Version des Systems t&#228;tig.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martin-specht.com/2008/06/28/projekt-e-loxx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

