<?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>Twick.it-Blog &#187; PHP</title>
	<atom:link href="http://twick.it/blog/de/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://twick.it/blog/de</link>
	<description>Twick.it-Blog</description>
	<lastBuildDate>Wed, 29 Feb 2012 10:36:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Nerds only! Neuigkeiten von der Twick.it-API</title>
		<link>http://twick.it/blog/de/nerds-only-neuigkeiten-von-der-twick-it-api/</link>
		<comments>http://twick.it/blog/de/nerds-only-neuigkeiten-von-der-twick-it-api/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 13:51:25 +0000</pubDate>
		<dc:creator>Markus Möller</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Geokodierung]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierschnittstelle]]></category>
		<category><![CDATA[Wrapper]]></category>

		<guid isPermaLink="false">http://twick.it/blog/de/?p=1960</guid>
		<description><![CDATA[Achtung! Das Thema dieses Blog-Artikels ist technisch. Sehr technisch. Wenn du mit Programmierung nichts am Hut hast, dann kannst du diesen Beitrag überspringen. Ausnahmsweise. Ab ins Freibad! OK, Kollegen, nun sind wir also unter uns. Als Programmierer kennst du ja sicherlich schon unsere . Mit dieser offenen Programmierschnittstelle ist es möglich, auf die Daten der [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Achtung! Das Thema dieses Blog-Artikels ist technisch. Sehr technisch. Wenn du mit Programmierung nichts am Hut hast, dann kannst du diesen Beitrag überspringen. Ausnahmsweise. Ab ins Freibad!</strong></p>
<p>OK, Kollegen, nun sind wir also unter uns. Als Programmierer kennst du ja sicherlich schon unsere <a href='http://twick.it/de/API' target='_self' rel='glossary' title='Schnittstelle, die von einem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfügung gestellt wird' class='wp_twickit_link' id='dummy0.79708300 1337966932833'>API</a><script type="text/javascript">wpTwickitLinkInit("dummy0.79708300 1337966932833", "<a href='http://twick.it/de/API' target='_self' class='twick'>API</a><br />Schnittstelle, die von einem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfügung gestellt wird<br />");</script>. Mit dieser <a title="Doku: Erklärungen über die API" href="http://twick.it/blog/de/fur-entwickler/api/" target="_blank">offenen Programmierschnittstelle</a> ist es möglich, auf die Daten der Erklärmaschine zuzugreifen und selbst Applikationen zu schreiben.</p>
<p>Nun gibt es gleich zwei Neuigkeiten. Erstens experimentieren wir gerade mit der Geokodierung von Twicks und möchten diese Funktion gerne über die API freigeben und zweitens können PHP-Programmierer nun Wrapper-Klassen nutzen, um uns noch einfacher anzuzapfen.<br />
<a name="geo"></a><br />
<h2>Geokodierung</h2>
<p>Seit kurzem werden die Themen bei Twick.it mit Geokoordinaten (Längen- und Breitengrad) versehen. Diese Funktion befindet sich zwar noch in einem frühen Beta-Stadium, aber ihr könnt trotzdem schon drauf zugreifen. Die Rückgaben der Funktions-Aufrufe liefern dazu sowohl im <a href='http://twick.it/de/XML' target='_self' rel='glossary' title='Auszeichnungssprache zum Austausch und zur Darstellung strukturierter Datensätze in Form von Textdaten. Plattformunabhängiger Standard.' class='wp_twickit_link' id='dummy0.12937600 1337966933897'>XML</a><script type="text/javascript">wpTwickitLinkInit("dummy0.12937600 1337966933897", "<a href='http://twick.it/de/XML' target='_self' class='twick'>XML</a><br />Auszeichnungssprache zum Austausch und zur Darstellung strukturierter Datensätze in Form von Textdaten. Plattformunabhängiger Standard.<br />");</script>- als auch im <a href='http://twick.it/de/JSON' target='_self' rel='glossary' title='Schlankes Datenaustauschformat von Douglas Crockford basierend auf JavaScript. Kann Name-Wert-Paare oder Liste von Werten enthalten.' class='wp_twickit_link' id='dummy0.46217000 1337966933695'>JSON</a><script type="text/javascript">wpTwickitLinkInit("dummy0.46217000 1337966933695", "<a href='http://twick.it/de/JSON' target='_self' class='twick'>JSON</a><br />Schlankes Datenaustauschformat von Douglas Crockford basierend auf JavaScript. Kann Name-Wert-Paare oder Liste von Werten enthalten.<br />");</script>-Format einen Geo-Block, der Längen- und Breitengrad als Bogenmaß angibt.</p>
<p>Auch eine neue Funktion <a title="API-Dokumentation der Funktion" href="http://twick.it/blog/de/fur-entwickler/api/find_topics_nearby/">find_topics_nearby</a> gibt es. Der Sinn dieser Funktion ist schnell erklärt: Ihr übergebt dem Aufruf eure eigene Position und bekommt Themen, die sich in der Nähe befinden. Einzelheiten und ein Beispiel findet ihr wie immer in der <a title="API-Dokumentation der Funktion" href="http://twick.it/blog/de/fur-entwickler/api/find_topics_nearby/" target="_blank">API-Dokumentation</a>.<span id="more-1960"></span><br />
<a name="php"></a><br />
<h2>PHP-Wrapper</h2>
<p>Wenn ihr mit <a href='http://twick.it/de/PHP' target='_self' rel='glossary' title='Skriptsprache, die hauptsächlich zur Erstellung von dynamischen Webseiten oder Webanwendungen verwendet wird. PHP ist Open-Source-Software.' class='wp_twickit_link' id='dummy0.78824600 1337966933571'>PHP</a><script type="text/javascript">wpTwickitLinkInit("dummy0.78824600 1337966933571", "<a href='http://twick.it/de/PHP' target='_self' class='twick'>PHP</a><br />Skriptsprache, die hauptsächlich zur Erstellung von dynamischen Webseiten oder Webanwendungen verwendet wird. PHP ist Open-Source-Software.<br />");</script> auf die Twick.it-Schnittstelle zugreifen wollt, könnt ihr euch das Leben jetzt noch einfacher machen. Wir haben einige Wrapper-Klassen geschrieben, die dafür sorgen, dass ihr euch nicht mehr mit dem ganzen <a href='http://twick.it/de/REST' target='_self' rel='glossary' title='Basiert auf zustandslosem Client/Server-Protokoll, bei dem jede Ressource über eigene URI mittels HTTP-Verben angesprochen wird.' class='wp_twickit_link' id='dummy0.11256800 1337966934832'>REST</a><script type="text/javascript">wpTwickitLinkInit("dummy0.11256800 1337966934832", "<a href='http://twick.it/de/REST' target='_self' class='twick'>REST</a><br />Basiert auf zustandslosem Client/Server-Protokoll, bei dem jede Ressource über eigene URI mittels HTTP-Verben angesprochen wird.<br />");</script>-Zeugs (http-Request senden und XML parsen) herumschlagen müsst. Stattdessen gibt es eine PHP-Klasse, die die Twick.it-Funktionen als statische Methoden zur Verfügung stellt. Die Rückgabe erfolgt schön strukturiert in Form spezieller Twick.it-Klassen.</p>
<p>Natürlich ist der PHP-Wrapper kostenlos und steht unter der BSD Licence. Kurz gesagt: Ihr dürft damit machen, was ihr wollt. Zu finden ist diese PHP-Zauberkiste bei Sourceforge unter <a href="https://sourceforge.net/projects/twickitapiphp/">https://sourceforge.net/projects/twickitapiphp/</a></p>
<p>Als Alternative sei auch noch einmal die<a title="PHP-Klasse von Sascha" href="http://somegas.de/wordpress/projekte/twick-it-api-php-class/" target="_blank" rel="nofollow"> PHP-Klasse von Sascha Ohms</a> genannt. Die das Ergebnis als XML liefert.</p>
<h2>Immer Up-to-date</h2>
<p>Vielleicht werden solche Wrapper auch für weitere Programmiersprachen (Java, Ruby on Rails, Perl, .NET, etc.) folgen. Über Erweiterungen oder Änderungen an der API informieren wir immer als erstes über den extra dafür angelegten <a title="Twitter-Account der Twick.it-API öffnen" href="https://twitter.com/twickit_api">Twitter-Account @twickit_api</a>. Selbst wenn du selbst kein Twitter nutzt kannst du dort Updates per RSS abonnieren.</p>
<p>So, jetzt hast du zwei Möglichkeiten: Entweder selbst ein cooles Mashup programmieren oder ab ins Freibad! Die anderen warten schon.</p>
]]></content:encoded>
			<wfw:commentRss>http://twick.it/blog/de/nerds-only-neuigkeiten-von-der-twick-it-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backstage – Ein Blick hinter die Technik-Kulissen</title>
		<link>http://twick.it/blog/de/technik/</link>
		<comments>http://twick.it/blog/de/technik/#comments</comments>
		<pubDate>Mon, 03 May 2010 06:42:24 +0000</pubDate>
		<dc:creator>Markus Möller</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Technik]]></category>

		<guid isPermaLink="false">http://twick.it/blog/de/?p=1437</guid>
		<description><![CDATA[In letzter Zeit wurde ich des öfteren nach der Technik gefragt, die Twick.it zugrunde liegt. Geduldig gebe ich dann immer wieder die selben erstaunlich unspektakuläre Antworten. Und heute gibt es die sogar schriftlich. Programmiersprache Die Erklärmaschine wurde und wird in programmiert. Spezielle Framework kommen dabei nicht zum Einsatz. Um die Zugriffe auf die Datenbank zu [...]]]></description>
			<content:encoded><![CDATA[<p><strong>In letzter Zeit wurde ich des öfteren nach der Technik gefragt, die Twick.it zugrunde liegt. Geduldig gebe ich dann immer wieder die selben erstaunlich unspektakuläre Antworten. Und heute gibt es die sogar schriftlich.</strong></p>
<h1>Programmiersprache</h1>
<p>Die Erklärmaschine wurde und wird in <a href='http://twick.it/de/PHP' target='_self' rel='glossary' title='Skriptsprache, die hauptsächlich zur Erstellung von dynamischen Webseiten oder Webanwendungen verwendet wird. PHP ist Open-Source-Software.' class='wp_twickit_link' id='dummy0.45795100 1337966934613'>PHP</a><script type="text/javascript">wpTwickitLinkInit("dummy0.45795100 1337966934613", "<a href='http://twick.it/de/PHP' target='_self' class='twick'>PHP</a><br />Skriptsprache, die hauptsächlich zur Erstellung von dynamischen Webseiten oder Webanwendungen verwendet wird. PHP ist Open-Source-Software.<br />");</script> programmiert. Spezielle Framework kommen dabei nicht zum Einsatz. Um die Zugriffe auf die Datenbank zu abstrahieren, habe ich ein eigenes Persistenz-Framework geschrieben, das mir die Objekte direkt so zurückliefert, wie ich sie gerne hätte. Neuerdings befindet sich auf dieser Ebene auch ein Caching-Mechanismus.</p>
<p>Der Blog wurde mit der Blog-Software <a href='http://twick.it/de/WordPress' target='_self' rel='glossary' title='Kostenlose Open Source Software zur Erstellung und Verwaltung von Blogs. Realisiert mit PHP und MySQL. Plugins erweitern die Funktionalität.' class='wp_twickit_link' id='dummy0.99443600 1337966934780'>Wordpress</a><script type="text/javascript">wpTwickitLinkInit("dummy0.99443600 1337966934780", "<a href='http://twick.it/de/WordPress' target='_self' class='twick'>WordPress</a><br />Kostenlose Open Source Software zur Erstellung und Verwaltung von Blogs. Realisiert mit PHP und MySQL. Plugins erweitern die Funktionalität.<br />");</script>  und einem selbst erstellten Template realisiert.</p>
<h1>Datenbank</h1>
<p>Als Datenbank muss eine <a href='http://twick.it/de/MySQL' target='_self' rel='glossary' title='Relationales Datenbanksystem, verfügbar als Opensource und kommerzielle Version. Sehr beliebt bei Web-Anwendungen und in Verbindung mit PHP.' class='wp_twickit_link' id='dummy0.60768900 1337966935650'>MySQL</a><script type="text/javascript">wpTwickitLinkInit("dummy0.60768900 1337966935650", "<a href='http://twick.it/de/MySQL' target='_self' class='twick'>MySQL</a><br />Relationales Datenbanksystem, verfügbar als Opensource und kommerzielle Version. Sehr beliebt bei Web-Anwendungen und in Verbindung mit PHP.<br />");</script> herhalten. Sie ist mit einer handvoll Relationen gefüttert und dank der kurzen Texte noch immer nicht besonders groß. Ein Umstand, der beim regelmäßig stattfindendem Backup sehr praktisch ist.<span id="more-1437"></span></p>
<h1>JavaScript</h1>
<p>Aufmerksame Nutzer haben bemerkt, dass auf der Seite vermehrt <a href='http://twick.it/de/Ajax' target='_self' rel='glossary' title='Asynchrone HTTP-Datenübertragung zwischen Server und Webbrowser. Ermöglicht Anfragen im Hintergrund, während eine Webseite angezeigt wird.' class='wp_twickit_link' id='dummy0.86378300 1337966935341'>AJAX</a><script type="text/javascript">wpTwickitLinkInit("dummy0.86378300 1337966935341", "<a href='http://twick.it/de/Ajax' target='_self' class='twick'>Ajax</a><br />Asynchrone HTTP-Datenübertragung zwischen Server und Webbrowser. Ermöglicht Anfragen im Hintergrund, während eine Webseite angezeigt wird.<br />");</script> zum Einsatz kommt. Bei der Frage, ob und auf welches JavaScript-Framework hier zurückgegriffen werden sollte, wurde vor einiger Zeit zugunsten von Prototype und <a href='http://twick.it/de/Scriptaculous' target='_self' rel='glossary' title='JavaScript-Bibiothek. Stellt grafische Effekte und Drag&Drop-Funktionen zur Verfügung. Basiert auf dem Framework Prototype.' class='wp_twickit_link' id='dummy0.37758100 133796693682'>Script.aculo.us</a><script type="text/javascript">wpTwickitLinkInit("dummy0.37758100 133796693682", "<a href='http://twick.it/de/Scriptaculous' target='_self' class='twick'>Script.aculo.us</a><br />JavaScript-Bibiothek. Stellt grafische Effekte und Drag&amp;Drop-Funktionen zur Verfügung. Basiert auf dem Framework Prototype.<br />");</script> entschieden. Würde die Entscheidung heute getroffen, hätte <a href='http://twick.it/de/JQuery' target='_self' rel='glossary' title='Javascript-Framework, welches HTML-Manipulation und -Selektion , Ajax Interaktionen, Events und Animationen vereinfacht.' class='wp_twickit_link' id='dummy0.62452200 1337966936679'>JQuery</a><script type="text/javascript">wpTwickitLinkInit("dummy0.62452200 1337966936679", "<a href='http://twick.it/de/JQuery' target='_self' class='twick'>JQuery</a><br />Javascript-Framework, welches HTML-Manipulation und -Selektion , Ajax Interaktionen, Events und Animationen vereinfacht.<br />");</script> vermutlich bessere Chancen.</p>
<h1>Server</h1>
<p>Bleibt die Frage nach der Hardware. Genau hier kommt meine Chance, DinA0-große Skizzen der Server-Architekur aus dem Hut zu zaubern. Die Wahrheit sieht jedoch ganz anders aus. Wir hosten Twick.it seit Ende März auf einem stinknormalen Mittelklasse-Server bei Host Europe. Die Auslastung des Servers wird stetig überwacht und bei Bedarf aufgestockt. Nicht besonders spektakulär, oder?</p>
<h1>Sonst noch was?</h1>
<p>Sorgenkind ist und bleibt ein wenig die Performance. Hier kommt schon heute das DEFLATE-Modul des Apache-Webservers zum Einsatz, das dafür sorgt, dass Inhalte per gzip verpackt durch die Leitung geschickt werden. Außerdem läuft serverseitig APC zum cachen von PHP-Dateien.</p>
<p>Etwas schönere URLs werden übrigens mit mod_rewrite erzeugt.</p>
<h1>Und die Zukunft?</h1>
<p><a href="http://twick.it/user/norro" target="_blank">Norro</a> hat uns auf den Reverse-Proxy Varnish aufmerksam gemacht. Das Prinzip und die versprochenen Geschwindigkeits-Vorteile hören sich sehr vielversprechend an. In diese Richtung werden wir weiter denken.</p>
]]></content:encoded>
			<wfw:commentRss>http://twick.it/blog/de/technik/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der erste Twick &#8211; Noch ohne Twick.it</title>
		<link>http://twick.it/blog/de/der-erste-twick-noch-ohne-twick-it/</link>
		<comments>http://twick.it/blog/de/der-erste-twick-noch-ohne-twick-it/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 20:00:10 +0000</pubDate>
		<dc:creator>Markus Möller</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anekdote]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://twick.it/blog/?p=147</guid>
		<description><![CDATA[Die Entstehungsgeschichte hat Sean bereits treffend beschrieben. Eine möchte ich dazu noch zum besten geben. Die folgende Geschichte kann zwar nicht als Geburtsstunde von Twick.it bezeichnet werden, sie ereignete sich aber in der sehr frühen Anfangszeit der Plattform und war maßgeblich für die Umsetzung verantwortlich. Zusammen mit zwei Kollegen der Werbeagentur conception fuhr ich zu [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Die Entstehungsgeschichte hat Sean <a href="/blog/2009/07/die-twick-it-geschichte/">bereits treffend beschrieben</a>. Eine Anekdote möchte ich dazu noch zum besten geben. Die folgende Geschichte kann zwar nicht als Geburtsstunde von Twick.it bezeichnet werden, sie ereignete sich aber in der sehr frühen Anfangszeit der Plattform und war maßgeblich für die Umsetzung verantwortlich.</strong></p>
<p>Zusammen mit zwei Kollegen der Werbeagentur <a href="http://www.conception.cc" target="_blank">conception</a> fuhr ich zu einem potentiellen Kunden, der an der Implementierung eines Online-Shops interessiert war. Uns gegenüber saß ein Abgesandter der Geschäftsleitung sowie der IT-Leiter des Unternehmens.</p>
<p>Gegen Ende des Gesprächs fragte mich mein Gegenüber aus der IT-Abeilung, welche technische Basis vonnöten sei. „Was benötigen Sie? PHP?“. Ich nickte. Resultat dieser wortkargen Techniker-Unterhaltung war ein zufriedener IT-Mensch und ein ebenso verwirrter Kaufmann. Über dem Kopf des Geschäftsführer-Assistenten prangerte ein großes, imaginäres Fragezeichen. Er dreht den Kopf zu seinem Kollegen aus der IT-Abteilung: „PHP???“. Dieser zögerte nicht lange und erwiderte: „Das ist so eine Programmiersprache, mit der Internetseiten gemacht sind“.</p>
<p><a href='http://twick.it/de/Bingo' target='_self' rel='glossary' title='Bingo: Lotteriespiel. Bei Ziehung einer Zahl wird diese auf der Teilnahme-Karte gestrichen. Wer zuerst eine komplette Reihe gestrichen hat gewinnt. | Bingo (Ausruf): Ursprünglich Ausruf beim Bingo-Spiel, wenn man gewonnen hat. Im übertragenen Sinne bedeutet es "Volltreffer" oder "Genau richtig".' class='wp_twickit_link' id='dummy0.54135300 1337966937289'>Bingo</a><script type="text/javascript">wpTwickitLinkInit("dummy0.54135300 1337966937289", "<a href='http://twick.it/de/Bingo' target='_self' class='twick'>Bingo</a><br />Lotteriespiel. Bei Ziehung einer Zahl wird diese auf der Teilnahme-Karte gestrichen. Wer zuerst eine komplette Reihe gestrichen hat gewinnt.<br /><a href='http://twick.it/de/Bingo' target='_self' class='twick'>Bingo (Ausruf)</a><br />Ursprünglich Ausruf beim Bingo-Spiel, wenn man gewonnen hat. Im übertragenen Sinne bedeutet es &quot;Volltreffer&quot; oder &quot;Genau richtig&quot;.<br />");</script>! Kurze Frage, kurze Antwort. Und ein zufriedener Mensch mehr auf dieser Erde.</p>
<p><span id="more-147"></span>Die Idee einer Micro-Enzoklopädie war gerade erst ausgesprochen worden und wir befanden uns noch in einer Phase, in der es noch überaus fraglich war, ob ein Startschuss zur Umsetzung fallen würde. Ist eine Ultra-Kurz-Erklärung sinnvoll? Kann man genügend Informationen in 140 Zeichen unterbringen? Würde das jemand brauchen? Die erlebte Geschichte machte die Antwort auf alle drei Fragen deutlich: Ja, ja und nochmals ja.</p>
<p>Was wäre wohl passiert, wenn der unwissende Kollege nichts gesagt hätte. Stattdessen hätte er heimlich drei Buchstaben auf ein Blatt Papier gekritzelt. P-H-P. Dahinter ein bis drei Fragezeichen. Später hätte er wohl die Suche von Google bemüht und wäre von Millionen von Ergebnissen erschlagen worden. Bestenfalls hätte er einen Wikipedia-Artikel gefunden, der ihm auf zig DinA4-Seiten die Geschichte, die Funktionsweise, die Vor- und Nachteile der Programmiersprache inkl. Programmbeispiele gezeigt hätte. Viele Informationen. In dieser Situation sicherlich viele unnötige Informationen. Und wer weiß, vielleicht wäre er nachher genauso schlau wie vorher gewesen. Die knappe –und zugegebenerweise recht oberflächliche- „Programmiersprache für Internetseiten“-Erklärung war hier hingegen goldrichtig.</p>
<p>Für mich war klar: Erklärungen müssen nicht immer präzise, detailverliebt und ausführlich sein. Es gibt genug Situationen, in denen eine knappe Erklärung auch ohne Tiefgang genau die richtige ist. Mit Sicherheit habt auch Ihr schon Menschen kennengelernt, die –einmal angefangen- nicht mehr aufhören zu reden. Dies sind Menschen, die man nur sehr ungern nach Erklärungen fragt. Die gute Nachricht: Solche Erklärungen wird man bei Twick.it nicht finden.</p>
<p>Nach diesem Meeting stand fest: Wir brauchen eine Kurz-Enzyklopädie. Twick.it konnte beginnen.</p>
]]></content:encoded>
			<wfw:commentRss>http://twick.it/blog/de/der-erste-twick-noch-ohne-twick-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

