<?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>Ersocon.net - Science Blog</title>
	<atom:link href="http://blog.ersocon.net/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.ersocon.net</link>
	<description>Zend Framework, PHP, Java</description>
	<lastBuildDate>Thu, 08 Jul 2010 11:53:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Samsung i9200 Galaxy S2</title>
		<link>http://blog.ersocon.net/samsung-i9200-galaxy-s2-pid38.html</link>
		<comments>http://blog.ersocon.net/samsung-i9200-galaxy-s2-pid38.html#comments</comments>
		<pubDate>Thu, 08 Jul 2010 11:53:36 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[AMOLED]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Galaxy]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Samsung]]></category>
		<category><![CDATA[Smartphone]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=38</guid>
		<description><![CDATA[Sag niemals nie. Diese Lektion gilt nun auch für mich. Nachdem ich mir nach dem i7500 Galaxy Desaster geschworen hatte nie wieder Samsung Produkte zu kaufen, werde ich wohl doch in die Datenblatt-Falle tappen. Auf einer osteuropäischen Webseite sind nun sowohl erste Spezifikationen als auch ein (wenn auch unscharfes) Foto des Smartphones aufgetaucht. 
Das Gerät [...]]]></description>
			<content:encoded><![CDATA[<p>Sag niemals nie. Diese Lektion gilt nun auch für mich. Nachdem ich mir nach dem i7500 Galaxy Desaster geschworen hatte nie wieder Samsung Produkte zu kaufen, werde ich wohl doch in die Datenblatt-Falle tappen. Auf einer osteuropäischen Webseite sind nun sowohl erste Spezifikationen als auch ein (wenn auch unscharfes) Foto des Smartphones aufgetaucht. </p>
<p>Das Gerät wirkt recht kantig (wohl dem iPhone 4 nachempfunden). Des Galaxy S2 soll laut der Webseite über einen 4,3 Zoll großen Super-AMOLED-Screen, eine 8-Megapixel-Kamera sowie einen 2 GHz getakteten Prozessor mit 1 GByte RAM und 4 GByte ROM verfügen. Zur weiteren Ausstattung sollen A-GPS, WLAN (b/g/n), Bluetooth 3.0, Ambient-Light-Sensor (ALS) inklusive und eine mögliche Flash-Speicher Aufrüstung von bis zu 32 GByte über microSD-Karten gehören.</p>
<p>Mal abwarten wie sich Samsung mit dem i9000 Galaxy S schlägt. Vielleicht haben sie ja tatsächlich aus ihren Fehlern gelernt. Die Werte des S2 sehen zumindest wieder sehr verlockend aus.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/samsung-i9200-galaxy-s2-pid38.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3 ist live</title>
		<link>http://blog.ersocon.net/wordpress-3-ist-live-pid37.html</link>
		<comments>http://blog.ersocon.net/wordpress-3-ist-live-pid37.html#comments</comments>
		<pubDate>Sat, 19 Jun 2010 22:28:36 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=37</guid>
		<description><![CDATA[Eine tolle Meldung für alle Blogger dieser Welt, WordPress wurde in der Version 3.0 released. Die Meldung wird nicht ganz neu sein, deshalb möchte ich in diesem Beitrag eher auf die Neuerungen eingehen.
Thelonius, das ist zunächst der Name der neuen WordPress-Version. Aber nicht nur der Name ist neu, ein neues Default Theme mit dem Namen [...]]]></description>
			<content:encoded><![CDATA[<p>Eine tolle Meldung für alle Blogger dieser Welt, WordPress wurde in der Version 3.0 released. Die Meldung wird nicht ganz neu sein, deshalb möchte ich in diesem Beitrag eher auf die Neuerungen eingehen.</p>
<p>Thelonius, das ist zunächst der Name der neuen WordPress-Version. Aber nicht nur der Name ist neu, ein neues Default Theme mit dem Namen Twenty Ten gab es noch dazu. Dieses wirkt wesentlich moderner. Die dickste Änderung betrifft allerdings die Multi-Site-Funktion. Damit lassen sich mehre Sites für eine einzige WordPress Installation betreuen. Das neue Theme unterstützt diese neue Funktionalität recht angenehm.</p>
<p>Damit hat WordPress mit anderen Content-Mnagement System gleichgezogen, die schon seit einiger Zeit diese Funktionalität anbieten. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/wordpress-3-ist-live-pid37.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Googles neuer Caffeine Index</title>
		<link>http://blog.ersocon.net/googles-neuer-caffeine-index-pid36.html</link>
		<comments>http://blog.ersocon.net/googles-neuer-caffeine-index-pid36.html#comments</comments>
		<pubDate>Sat, 19 Jun 2010 22:09:31 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Caffeine]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Index]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=36</guid>
		<description><![CDATA[Bereits im letzten Sommer hat Google die neue Architektur der Suchmaschine angekündigt. Nun ist diese seit einiger Zeit auch live zu bewundern. Es ist also an der Zeit zu schauen welche Neuerungen dabei sind und wie sich diese auswirken.
Laut dem Google Webmaster Central Blog überträgt die neue Methode Webseiten bis zu 50% schneller in den [...]]]></description>
			<content:encoded><![CDATA[<p>Bereits im letzten Sommer hat Google die neue Architektur der Suchmaschine angekündigt. Nun ist diese seit einiger Zeit auch live zu bewundern. Es ist also an der Zeit zu schauen welche Neuerungen dabei sind und wie sich diese auswirken.</p>
<p>Laut dem Google Webmaster Central Blog überträgt die neue Methode Webseiten bis zu 50% schneller in den Google-Index. Erreicht wird dies durch die Tatsache, dass das Web in kleineren Portionen analysiert wird und dadurch nicht mehr &#8220;schwerfällig&#8221; ist. Auf die Rankingeigenschaften nimmt die neue Methode (angeblich) keinen Einfluss.</p>
<p>Ich habe nun über einige Tage hinweg Beispielkeywords beobachtet. Was fest steht ist, dass es nun mehr Ergebnisse gibt. Auch meine persönlichen Blog-Beiträge finde ich recht fix (~ 12 Stunden) im Suchindex wieder.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/googles-neuer-caffeine-index-pid36.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geschichte und Syntax von PHP</title>
		<link>http://blog.ersocon.net/geschichte-und-syntax-von-php-pid34.html</link>
		<comments>http://blog.ersocon.net/geschichte-und-syntax-von-php-pid34.html#comments</comments>
		<pubDate>Sat, 19 Jun 2010 08:45:13 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Geschichte]]></category>
		<category><![CDATA[Syntax]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=34</guid>
		<description><![CDATA[In diesem Beitrag möchte ich euch die Syntax von PHP näher bringen. Die Syntax leitet sich geschichtlich von der Programmiersprache C ab. Allerdings finden sich auch Einflüsse der Programmiersprache Perl in PHP wieder. Seit PHP 5 und dem Einfluss von Java hat auch eine gewisse Java-Syntax in PHP Einzug gehalten. Dies mag aufgrund der vielen [...]]]></description>
			<content:encoded><![CDATA[<p>In diesem Beitrag möchte ich euch die Syntax von PHP näher bringen. Die Syntax leitet sich geschichtlich von der Programmiersprache C ab. Allerdings finden sich auch Einflüsse der Programmiersprache Perl in PHP wieder. Seit PHP 5 und dem Einfluss von Java hat auch eine gewisse Java-Syntax in PHP Einzug gehalten. Dies mag aufgrund der vielen unterschiedlichen Einflüsse im ersten Moment etwas verwirrend sein, so ist die Syntax von PHP doch recht einfach und simpel. Starten wir zunächst mit PHP-Dateien.<br />
<strong><br />
PHP-Dateien und PHP-Tags</strong></p>
<p>Um PHP-Dateien zu verstehen, schauen wir uns dazu einfach die ausformulierte Version der Abkürzung PHP an:Hypertext Preprocessor. Wie man sieht, handelt es sich scheinbar um eine Art Text, der verarbeitet werden kann. Das bedeutet im Umkehrschluss, dass wir PHP-Code auch in einer simplen Text-Datei unterbringen dürfen. Obligatorisch werden diese Dateien mit der Endung .php abgespeichert.</p>
<p>Als Kennzeichnung für PHP-Code dienen sogenannte PHP-Tags. Diese Tags bestimmen also wann Code beginnt und wann dieser endet. In PHP hat man vier verschiedene Möglichkeiten Tags auszuschreiben.</p>
<p>Die Standard-Tags (<?php ?>) sind der einfachste und beste Weg. Zum einen sind sie sowohl zukunftssicher als auch abwärtskompatibel. Ein weiterer Vorteil besteht darin, dass diese Notation nicht durch eine Änderung der PHP-Konfiguration abgestellt werden kann.</p>
<p>Die Kurztags (<? ?>) galten lange Zeit als Standard, sind jedoch mittlerweile in den aktuellen PHP-Versionen als deprecated gekennzeichnet. Diese Kennzeichnung bedeutet in der Software-Entwicklung, dass eine Klasse, Methode oder Notation veraltet ist und (aus gründen der Zukunftssicherheit der eigenen Anwendung) nicht mehr angewendet werden soll. Daneben kollidiert diese Notation oft mit der XML-Syntax.</p>
<p>Script-Tags wurden als Analogie zu Java-Script-Tags eingeführt. Somit konnten HTML-Programmierer leichter PHP-Code und HTML auseinander halten. Heutzutage spielt diese Notation fast keine Rolle mehr. Ebenso die ASP-Tags, die streng betrachtet noch nie eine gewisse Daseinsberechtigung genossen.</p>
<p>Ihr könnt selbstverständlich alle Tag-Notationen verwenden. Ich empfehle euch jedoch, sich an die impliziten Standards zu halten, damit ihre Web-Anwendung auch in Zukunft funktionsfähig bleibt.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/geschichte-und-syntax-von-php-pid34.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Versionsverwaltung mit Git und EGit</title>
		<link>http://blog.ersocon.net/versionsverwaltung-mit-git-und-egit-pid33.html</link>
		<comments>http://blog.ersocon.net/versionsverwaltung-mit-git-und-egit-pid33.html#comments</comments>
		<pubDate>Fri, 18 Jun 2010 21:01:08 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[Versionsverwaltung]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=33</guid>
		<description><![CDATA[Da meine Ansprüche an ein Versionsverwaltungssystem gewachsen sind, habe ich mich dazu entschlossen von SVN auf GIT zu wechseln. Git ist im Gegensatz zu SVN ein verteiltes Verwaltungssystem. D.h. der Entwickler kann auch ein eigenes Repository lokal auf dem seinem Rechner betreiben. Der größte Vorteil von Git liegt im Umgang mit Branches (bzw. das Mergen), [...]]]></description>
			<content:encoded><![CDATA[<p>Da meine Ansprüche an ein Versionsverwaltungssystem gewachsen sind, habe ich mich dazu entschlossen von SVN auf GIT zu wechseln. Git ist im Gegensatz zu SVN ein verteiltes Verwaltungssystem. D.h. der Entwickler kann auch ein eigenes Repository lokal auf dem seinem Rechner betreiben. Der größte Vorteil von Git liegt im Umgang mit Branches (bzw. das Mergen), was auch mich dazu bewegt hatte Git einzusetzen.</p>
<p>der Umstueg benötigt etwas Eingewöhnung und eine gewisses Umdenken. Meiner Meinung nach ist es erforderlich in bestimmten Phasen (Repositories clonen, pushen, usw.) schon mit der Konsole arbeiten. Für die Übersicht und &#8220;gefühlte Sicherheit&#8221; kann man (sofern man Eclipse nutzt) EGit, das Plugin für Eclipse, benutzen. Ich versuche in den nächsten Tagen ein etwas ausführlicheres Tutorial zum Umstieg zu schreiebn. Bis dahin <img src='http://blog.ersocon.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/versionsverwaltung-mit-git-und-egit-pid33.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Piwik als Google Analytics Alternative</title>
		<link>http://blog.ersocon.net/piwik-als-google-analytics-alternative-pid32.html</link>
		<comments>http://blog.ersocon.net/piwik-als-google-analytics-alternative-pid32.html#comments</comments>
		<pubDate>Fri, 18 Jun 2010 19:46:24 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[Piwik]]></category>
		<category><![CDATA[Serverstatistiken]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=32</guid>
		<description><![CDATA[Seit einiger Zeit ist ein Tool auf dem Markt, das sich leider noch in der Entwicklungsphase befindet, aber schon jetzt als eine gute Alternative zu Google Analytics gesehen werden kann: Piwik. Es ist das Nachfolgesystem von phpMyVisits, ist Open Source und könnte sich zu einer ernstzunehmenden kostenlosen Konkurrenz für Google Analytics entwickeln. 
EInige Bedenken gegenüber [...]]]></description>
			<content:encoded><![CDATA[<p>Seit einiger Zeit ist ein Tool auf dem Markt, das sich leider noch in der Entwicklungsphase befindet, aber schon jetzt als eine gute Alternative zu Google Analytics gesehen werden kann: Piwik. Es ist das Nachfolgesystem von phpMyVisits, ist Open Source und könnte sich zu einer ernstzunehmenden kostenlosen Konkurrenz für Google Analytics entwickeln. </p>
<p>EInige Bedenken gegenüber Google Analytics brachten mich dazu Piwik anzutesten. Was genau sprcht also zunächst gegen Google? Der dickste Punkt wird wohl die Tatsache sein, dass GA-Daten auf dem Server von Google weilen. Damit gibt man seine User-Daten an Dritte weiter. Was Google nun mit diesen Daten anfängt, wird wohl niemand (außer Google) genau sagen können. In jedem Fall muss man seine User auf die Nutzung von GA hinweisen und diese müssen entsprechend zustimmen. Einfacher ist es hier bei Piwik, da man Daten auf dem eigenen Server behält (was die Nutzungsbedingungen für den User vereinfach: Keine Weitergabe an Dritte)</p>
<p>Zusätzlich ist gibt es mittlerweile GA-Blocker, die natürlich auch für Ungenauigkeiten sorgen. Bei Piwik wäre dies auch möglich, ist jedoch bisher noch bei sehr sehr wenigen bekannt. Auch weiß bisher keiner, ob Google die Daten für die Rankings bei den Suchmaschinen verwendet oder eben nicht. Ich persönlich tendiere zum Ersteren.</p>
<p>Nun einiges zu Piwik: Das Tool wird auf dem eigenen Server installiert und das Script sendet keinerlei Daten an Dritte. Zudem erstellt Piwik Live-Statistiken und verfügt über eine API, die es Entwicklern erlaubt, eigene Plug-ins zu entwickeln und auf die Daten zuzugreifen. Dies hat den Vorteil, dass man Daten auch evtl. auf der Webseite oder in Admin-Bereichen anzeigen kann.</p>
<p>Nachteile habe ich bisher recht wenige festgestellt, jedoch seien diese hier der Vollständigkeit erwähnt. Bei 10 parallel laufenden Seiten ist der Admin-Bereich mittlerweile recht langsam geworden. Da werde ich wohl nicht um eine Aufrüstung der Hardware bzw. Auslagerung der Statistiken auf einen separaten Server umher kommen. Ab und an gibt es auch noch die Meldung &#8220;Internal Server Error&#8221;, was nervig ist, aber mit einem Reload (meist) schnell aus der Welt geschafft ist. Leider habe ich im Vergleich mit GA auch nicht dieselben Daten erhalten. GA hat stets mehr getrackt als Piwik. Dies kann natürlich auch mit Lastproblemen meines Servers zusammenhängen.</p>
<p>Noch ein kleines Schlußwort: Ich habe mich entschlossen meine Projekte zunächst von Google Analytics zu befreien und bin guter Dinge, dass Piwik stets weiter entwickelt wird und entsprechend  entsprechend verbessert wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/piwik-als-google-analytics-alternative-pid32.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementierung des Singleton-Pattern in PHP</title>
		<link>http://blog.ersocon.net/implementierung-des-singleton-pattern-in-php-pid30.html</link>
		<comments>http://blog.ersocon.net/implementierung-des-singleton-pattern-in-php-pid30.html#comments</comments>
		<pubDate>Sun, 07 Mar 2010 10:03:34 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[Design Pattern]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Singleton]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=30</guid>
		<description><![CDATA[Das Singleton-Pattern ist eines der einfachsten Pattern und lässt sich auch in PHP implementieren. Es sorgt dafür, dass von einer Singleton-Klasse jeweils nur eine Instanz erzeugt werden kann. Somit ist das Objekt zentral zugänglich, was allerdings auch als großer Nachteil ausgelegt werden kann.]]></description>
			<content:encoded><![CDATA[<p>Das Singleton-Pattern ist eines der einfachsten Pattern und lässt sich auch in PHP implementieren. Es sorgt dafür, dass von einer Singleton-Klasse jeweils nur eine Instanz erzeugt werden kann. Somit ist das Objekt zentral zugänglich, was allerdings auch als großer Nachteil ausgelegt werden kann.</p>
<p>Eine Beispielimplementierung kann z.B. wie folgt aussehen:</p>
<pre class="brush:php">
/**
 * Implementierung des Singleton Pattern
 *
 * Der Konstruktor und das Klonen sind private Methoden, können
 * somit nicht von außen aufgerufen werden.
 */
class Singleton
{
    /*
     * @var Singleton
     */
    static private $_instance = null;

    /**
     * Konstruktor
     */
    private function __constructor() {}
    private function __clone() {}

    /**
     * Liefert die einzelne Instanz
     */
    static public function getInstance()
    {
        if (is_null(self::$_instance)) {
            self::$_instance = new self;
        }
        return self::$_instance;
    }
}
</pre>
<p>Instanziierung im Programmcode</p>
<pre class="brush:php">
// Objekt instanziieren
$singleton = Singleton::getInstance();
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/implementierung-des-singleton-pattern-in-php-pid30.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basics zu PHP Variablen</title>
		<link>http://blog.ersocon.net/basics-zu-php-variablen-pid28.html</link>
		<comments>http://blog.ersocon.net/basics-zu-php-variablen-pid28.html#comments</comments>
		<pubDate>Sat, 06 Mar 2010 19:38:19 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Variablen]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=28</guid>
		<description><![CDATA[In meinem ersten Tutorial zu PHP (Basics zu PHP &#8211; First Steps Tutorial) habe ich bereits einige kleine Beispiele geschildert. In diesem Beitrag soll sich nun alles um Variablen in PHP drehen. Das Tutorial richtet sich in erster Linie an PHP-Einsteiger, enthält aber auch interessante Tipps für erfahrene Entwickler.
Um PHP-Variablen beschreiben zu können, möchte ich [...]]]></description>
			<content:encoded><![CDATA[<p>In meinem ersten Tutorial zu PHP (<a href="http://blog.ersocon.net/basics-zu-php-first-steps-tutorial-pid19.html">Basics zu PHP &#8211; First Steps Tutorial</a>) habe ich bereits einige kleine Beispiele geschildert. In diesem Beitrag soll sich nun alles um Variablen in PHP drehen. Das Tutorial richtet sich in erster Linie an PHP-Einsteiger, enthält aber auch interessante Tipps für erfahrene Entwickler.</p>
<p>Um PHP-Variablen beschreiben zu können, möchte ich zunächst die Frage klären, was Variablen eigentlich sind. Rein technisch müsste man nun kurz und knapp zusammenfassen: <em>Eine Variable ist eine veränderliche Größe im Programm</em>. Ein etwas anschaulicheres Bild &#8211; welches ich häufig verwende, um Laien Variablen zu erklären &#8211; könnte z.B. so aussehen: Man stelle sich ein Programm als einen großen Schrank mit vielen Schubladen vor. Die Schubladen sind beschriftet, man kann sie aufschieben/zuschieben, etwas hineinlegen und natürlich Dinge aus Schubladen entnehmen. Die Beschriftung der Schubladen sind sogenannte Variablennamen. Das Beschriften selbst, genauer gesagt die Aktion, nennt man <em>Variablendefinition</em>. Der Inhalt einer Schublade ist der Wert einer Variable, welcher natürlich auch leer sein kann. Ich kann nun eine Schublade öffnen, meine Schuhe hineinlegen und die Schublade zuschieben. In der Entwicklung spricht man hier von der <em>Wertzuweisung</em>. Der Zugriff auf eine Variable ist im weitesten Sinne das einfache Hineinschauen in eine Schublade (z.B. um zu prüfen, ob sie evtl. leer ist).</p>
<p>Im PHP-Code werden Variablen mit einem einfachen Dollarzeichen markiert, in etwa so:</p>
<pre class="brush:php">$meineErsteVariable = 'Hallo Welt';</pre>
<p>In der Zeile habe ich bereits mehrere Dinge erledigt. Ich habe eine Schublade beschriftet (mit dem Namen &#8220;meineErsteVariable&#8221;) und bereits den Text &#8220;Hallo Welt&#8221; hineingelegt. Ihr seht also, dass eine Wertzuweisung durch ein einfaches Gleichheitszeichen erfolgt. Was auch zu erkennen ist, dass Variablennamen aus einem zusammenhängenden Text bestehen müssen. In der Entwicklung verwendet man oft die CamelCase-Schreibweise (eine Schreibweise von zusammengesetzten Worten bei der die einzelnen Worte ohne Zwischenraum aber jeweils mit einem Großbuchstaben am Anfang geschrieben werden), um die Lesbarkeit zu erhöhen.</p>
<p><strong>Datentypen</strong></p>
<p>Mit diesem Verständnis könnt ihr nun mit den Variablen arbeiten. Der Wert einer Variable kann beliebig sein, PHP nimmt es hier ein wenig lockerer als andere Programmiersprachen, wie z.B. Java. Das bedeutet, dass ich in einer Variable einen &#8220;Text-Wert&#8221; (String) oder auch einen &#8220;Zahlen-Wert&#8221; (Integer) zuweisen kann, ohne dies vorher explizit festgelegt zu haben. String und Integer sind Datentypen und nur ein kleiner Auszug der insgesamt möglichen Datentypen in PHP.</p>
<p><strong>Mit Variablen arbeiten</strong></p>
<p>Eine Interessante Verwendung der Variablen findet sich beim Berechnen von Werten. Nachfolgend einige (kommentierte) Beispiele:</p>
<p>Beispiel Addition:</p>
<pre class="brush:php">
// Definition und Zuweisung der Variable $anzahlRoterBälle, Wert 4
$anzahlRoterBaelle = 4;

// Definition und Zuweisung der Variable $anzahlBlauerBälle, Wert 3
$anzahlBlauerBaelle = 3;

// Addition, die Gesamtanzahl aller Bälle, Wert 7
$gesamtAnzahl = $anzahlRoterBaelle + $anzahlBlauerBaelle;
</pre>
<p>Beispiel Subtraktion:</p>
<pre class="brush:php">
// Kontostand vorher, Wert 1500
$kontostand = 1500;

// Kosten für einen neuen PC, Wert 600
$kostenComputer = 600;

// Subtraktion, neuer Kontostand, Wert 900 (1500 - 600)
$kontostand = $kontostand - $kostenComputer;
</pre>
<p>An beiden Beispielen kann man bereits viele wichtige Aspekte beim Umgang mit Variablen erkennen. In Beispiel 1 habe ich eine Addition mit Hilfe des Plus-Operators durchgeführt. Des Weiteren sieht man, dass in Variablennamen keine Sonderzeichen vorkommen dürfen (am Anfang eine recht häufige Fehlerquelle). In Beispiel 2 (Subtraktion) ist das Besondere, dass wir in Zeile 8 einer Variable aus Zeile 2 einen neuen Wert zuweisen. D.h. bis zur Änderung hat die Variable $kontostand den Wert 1500 und danach 900. Natürlich gibt es auch verschiedene weitere Operatoren, die man zum Arbeiten mit Variablen verwenden kann. Die häufigsten notiere ich nachfolgend:</p>
<pre class="brush:php">
// Variable a
$a = 1;

//Variable b
$b = 2;

// Addition, (1 + 2 = 3)
$ergebnis = $a + $b;

// Subtraktion (2 - 1 = 1)
$ergebnis = $b - $a;

// Division (1/2 = 0.5)
$ergebnis = $a / $b;

// Multiplikation (1 x 2 = 2)
$ergebnis = $a * $b;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/basics-zu-php-variablen-pid28.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse mit FileSync ausstatten</title>
		<link>http://blog.ersocon.net/eclipse-mit-filesync-ausstatten-pid21.html</link>
		<comments>http://blog.ersocon.net/eclipse-mit-filesync-ausstatten-pid21.html#comments</comments>
		<pubDate>Thu, 04 Mar 2010 10:49:15 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[FileSync]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=21</guid>
		<description><![CDATA[Das FileSync-Plugin für Eclipse kann einem das Entwickler-Leben erleichtern. Es synchronisiert Dateien eines Eclipse-Projektes mit externen Ressourcen (z.B. einem Entwicklungsserver). FileSync löscht, erstellt und aktualisiert Dateien aus einem Eclipse Projektordner in einen Zielordner. In diesem Beitrag werde ich kurz erläutern wie man es installiert und was man mit dem Werkzeug anfangen kann.
Zunächst müsst ihr natürlich [...]]]></description>
			<content:encoded><![CDATA[<p>Das FileSync-Plugin für Eclipse kann einem das Entwickler-Leben erleichtern. Es synchronisiert Dateien eines Eclipse-Projektes mit externen Ressourcen (z.B. einem Entwicklungsserver). FileSync löscht, erstellt und aktualisiert Dateien aus einem Eclipse Projektordner in einen Zielordner. In diesem Beitrag werde ich kurz erläutern wie man es installiert und was man mit dem Werkzeug anfangen kann.</p>
<p>Zunächst müsst ihr natürlich das Plugin installieren. Dazu geht ihr auf die Plugin-Seite (http://andrei.gmxhome.de/filesync/index.html) und holt euch die Quellenangabe für das Plugin. Zu der Zeit: http://andrei.gmxhome.de/eclipse/ . Diese Adresse tragt ihr nun in Eclipse zum Installieren neuer Software ein:</p>
<p><em>Eclipse &gt; Help &gt; Install New Software&#8230; </em></p>
<p><a href="http://blog.ersocon.net/wp-content/uploads/2010/03/Bildschirmfoto-Install-.png"><img src="http://blog.ersocon.net/wp-content/uploads/2010/03/Bildschirmfoto-Install--292x300.png" alt="Installation neuer Software bei Eclipse" title="Installation neuer Software bei Eclipse" width="292" height="300" class="aligncenter size-medium wp-image-22" target="_blank"/></a></p>
<p>In diesem Dialog klickt ihr nun den &#8220;Add&#8221; Button und tragt in der zweiten Zeile die Adresse ein (s. Screenshot). Ich habe zusätzlich noch einen Namen für die Site vergeben (FileSnyc), dies ist jedoch optional.</p>
<p><a href="http://blog.ersocon.net/wp-content/uploads/2010/03/Bildschirmfoto-Add-Site-.png"><img src="http://blog.ersocon.net/wp-content/uploads/2010/03/Bildschirmfoto-Add-Site--300x103.png" alt="Neue Site als Software-Quelle hinzufügen" title="Neue Site als Software-Quelle hinzufügen" width="300" height="103" class="aligncenter size-medium wp-image-24" target="_blank"/></a></p>
<p>Ihr solltet nun den Dialog zum Installieren sehen. Wählt nun einfach das FileSync aus und folgt den nächsten Schritten. Kleiner Hinweis: Es handelt sich nicht um offizielle Eclipse Software, daher kommt die Warnung, dass man evtl. schädliche Software installiert. Diese Warnung kann man bei diesem Plugin eigentlich recht beruhigt ignorieren bzw. einfach so hinnehmen.</p>
<p><a href="http://blog.ersocon.net/wp-content/uploads/2010/03/Bildschirmfoto-Install-11.png"><img src="http://blog.ersocon.net/wp-content/uploads/2010/03/Bildschirmfoto-Install-11-292x300.png" alt="Auswahl des FileSync Plugins" title="Auswahl des FileSync Plugins" width="292" height="300" class="size-medium wp-image-25" target="_blank"/></a></p>
<p>Nach der Installation kann ich euch nun noch eine Verwendung aufzeigen, die ich auch selbst verwende. Ich habe mir nämlich eine lokale LAMP (Linux Apache MySQL und PHP) Entwicklungsumgebung eingerichtet (<a href="http://blog.ersocon.net/ubuntu-fur-das-zend-framework-konfigurieren-pid20.html">Ubuntu für das Zend Framework konfigurieren</a>). Da ich nun keine VHosts einrichten wollte (zugegeben, es geht auch recht einfach), synchronisiere ich die Projektdateien aus Eclipse direkt in das Web-Verzeichnis meines lokalen Apache-Servers (/var/www). Denkbar ist natürlich auch, dass man einen separaten Entwicklungsserver betreibt und die Dateien dorthin synchronisiert.</p>
<p>Um die Dateien aus eurem Projektverzeichnis auf den lokalen Server zu bekommen (vorausgesetzt ihr möchtet meine Idee weiterverfolgen), klickt man in Eclipse mit der rechten Maustaste auf ein Projekt und geht auf die Properties und sollte nun den Auswahlpunkt FileSynchronisation sehen.</p>
<p><a href="http://blog.ersocon.net/wp-content/uploads/2010/03/Bildschirmfoto-Properties-for-gi_models-1.png"><img src="http://blog.ersocon.net/wp-content/uploads/2010/03/Bildschirmfoto-Properties-for-gi_models-1-300x235.png" alt="Screenshot FileSynchronisation Plugin in Eclipse" title="Screenshot FileSynchronisation in Eclipse" width="300" height="235" class="aligncenter size-medium wp-image-27" /></a></p>
<p>Um das Plugin zu verwendet, aktiviert man es oben in diesem Dialog und wählt den Zielordner aus. Bei Ubuntu bzw. Linux müsstet ihr noch die Rechte für die Zielverzeichnisse einrichten, denn sonst kann das Plugin keine Dateien schreiben oder entfernen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/eclipse-mit-filesync-ausstatten-pid21.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu für das Zend Framework konfigurieren</title>
		<link>http://blog.ersocon.net/ubuntu-fur-das-zend-framework-konfigurieren-pid20.html</link>
		<comments>http://blog.ersocon.net/ubuntu-fur-das-zend-framework-konfigurieren-pid20.html#comments</comments>
		<pubDate>Wed, 03 Mar 2010 21:11:18 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=20</guid>
		<description><![CDATA[Aus aktuellem Anlass &#8211; einer Neuinstallation meines Systems &#8211; möchte ich euch die Schritte erklären, die zu einer lokalen LAMP (Linux Apache MySQL und PHP) Entwicklungsumgebung für Zend-Framework Projekte unter Ubuntu 9.10 Karmic Koala führen.
Ein fertiges Linux-System solltet ihr mit Ubuntu ja bereits besitzen. D.h. den nächsten Schritt, den man gehen muss, ist den Apache-Server [...]]]></description>
			<content:encoded><![CDATA[<p>Aus aktuellem Anlass &#8211; einer Neuinstallation meines Systems &#8211; möchte ich euch die Schritte erklären, die zu einer lokalen LAMP (Linux Apache MySQL und PHP) Entwicklungsumgebung für Zend-Framework Projekte unter Ubuntu 9.10 Karmic Koala führen.</p>
<p>Ein fertiges Linux-System solltet ihr mit Ubuntu ja bereits besitzen. D.h. den nächsten Schritt, den man gehen muss, ist den Apache-Server zu installieren. Unter Ubuntu bewerkstelligt man dies in der Console mit dem einfachen Aufruf</p>
<pre class="brush:shell">sudo apt-get install apache2</pre>
<p>Eine Internetverbindung vorausgesetzt, solltet ihr nun die Download-, Installations- und Konfigurationsroutine sehen. Um zu überprüfen, ob der Apache nach der Installation läuft, öffnet einen Browser eurer Wahl und versucht die Adresse http://127.0.1.1 aus. Ihr solltet etwas in der Art &#8220;It Works&#8221; zu lesen erhalten.</p>
<p>Das Zend-Framework basiert ja bekanntlich auf PHP und so benötigen wie jetzt entsprechend PHP. Um PHP5 zu installieren, bemüht man widerum die Console und holt die aktuelle Version aus den Quellen:</p>
<pre class="brush:shell">sudo apt-get install php5</pre>
<p>Nach erfolgreicher Installation sollte der Apache neu starten und wir können überprüfen, ob die Installation korrekt ausgeführt wurde. Dazu wechselt man in das Web-Verzeichnis des Servers:</p>
<pre class="brush:shell">cd /var/www</pre>
<p>Hier sollte bereits eine index.html existieren, die wir schon im Web-Browser bewundern durften. Mit dem Aufruf&#8230;</p>
<pre class="brush:shell">sudo gedit phpinfo.php</pre>
<p>&#8230; erstellt man die Datei phpinfo.php und öffnet diese gleichzeitig mit dem (in Ubuntu mitgelieferten) Editor, welcher übrigens um einges mächtiger ist, als z.B. Notepad unter Windows, da er für sehr viele Dateitypen Syntax-Highlighting unterstützt. In diese Datei fügt ihr nun folgende Zeile ein und speichert die Datei ab:</p>
<pre class="brush:php">&lt;?php phpinfo(); ?&gt;</pre>
<p>Damit haben wir eine Test-PHP-Datei erstellt, welche die Methode phpinfo aufruft und uns somit ausführliche Informationen über die installierte PHP-Version liefert. Diese Datei könnt ihr über den Web-Browser unter http://127.0.1.1/phpinfo.php aufrufen. Bei erfolgreicher PHP-Installation solltet ihr nun PHP-Informationen (z.B. die Version) sehen.</p>
<p>Einen großen Teil habt ihr damit schon geschafft und könntet schon fast  mit einem Zend-Projekt anfangen. Was noch fehlt ist die Datenbank und  das Apache ModRewrite Modul. Wofür die Datenbank (MySQL) gebraucht wird, sollte klar sein. Das Modul benötigen wir, um euer Projekt zu &#8220;privatisieren&#8221;. Das bedeutet, dass wir &#8211; gemäß ZF-Vorgabe &#8211; einzig und allein einen öffentlichen Zugriff auf die index.php anbieten.</p>
<p>Starten wir doch mit dem Einfacheren, dem Modul. Dieses ist nämlich schon installiert und muss nur noch aktiviert werden. Dazu wieder die Konsole:</p>
<pre class="brush:shell">sudo a2enmod rewrite</pre>
<p>Kurze Erklärung dazu: a2 (Apache2, unser Server) en (enable, aktivieren) mod (Modul) rewrite. Eventuell &#8211; falls nicht automatisch durchgeführt &#8211; müsst ihr den Apache neu starten.</p>
<p>Nun möchten wir uns noch um die letzte Komponente, einen MySQL-Server kümmern. Dazu bemühen wir wieder die geliebte Konsole und holen uns den mysql-server mit Hilfe von apt:</p>
<pre class="brush:shell">sudo apt-get install mysql-server</pre>
<p>Bei der Installation solltet ihr die entsprechenden Zugriffspasswörter wählen, der Rest passiert automatisch. Für diejenigen, die phpMyAdmin kennen und nutzen möchten, bietet sich an das Paket phpmyadmin zu installieren, welches dann unter http://127.0.1.1/phpmyadmin zu finden ist.</p>
<pre class="brush:shell">sudo apt-get install phpmyadmin</pre>
<p>Mit dieser Konfiguration könnt ihr euch nun in aller Ruhe in ein neues Zend-Projekt stürzen. Falls ihr möchtet, könnt ihr auch entsprechende Tipps und Tutorials dazu in meinem kleinen ScienceBlog zur Hilfe nehmen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/ubuntu-fur-das-zend-framework-konfigurieren-pid20.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
