Gratis eBook "MySQL mit PHP"

Freitag, 24. Oktober 2008
O'Reilly hat in seiner Serie OpenBooks ein neues eBook zum Download bereitgestellt. Heißen tut das gute Stück "MySQL mit PHP".

Es beschreibt die Installation des "magischen Trios" Apache, PHP und MySQL, Grundlagen und Methoden des Datenbankentwurfs (Datentypen, Schlüssel, Entity-Relationship Diagramme, Normalisierung,..), und wie man per SQL mit der Datenbank kommuniziert. Auch erweiterte Funktionen wie Transaktionen, Views, Prepared Statements, Stored Procedures und Trigger werden durchgenommen.

Dann gibts eine kleine Einführung in PHP und eine Beschreibung der MySQL-Funktionen von PHP, garniert mit einem kleinem, ein bisschen deplazierten Ajax-Tutorial und einer umfangreichen Beispielanwendung.

Zum Schluß gibts auch noch eine Einführung in die Administration von MySQL.

Ich denke alles in allem ist es ein recht brauchbares Buch für Einsteiger oder auch zum Nachschlagen für erfahrenere Nutzer.

Joomla Tipps #3

Mittwoch, 22. Oktober 2008

Größe des Email-Popups ändern für Joomla 1.5

Das Ändern der Größe des mailto-Popups von Joomla ist eigentlich sehr einfach, wenn sich auch die Frage stellt, warum es dazu nicht einfach ein kleines Konfigurations-Tool im Backend gibt...

Die Einzige Voraussetzung ist eigentlich, dass man Zugriff auf das Dateisystem des Servers, auf dem Joomla installiert ist, hat. Man sucht die Datei "<Wurzelverzeichnis>/components/com_content/helpers/icon.php", öffnet diese und sucht die Funktion email() - bei mir in Zeile 64. In dieser Funktion findet man die Zeile

$status = 'width=400,height=300,menubar=yes,resizable=yes';

Einfach nach "width=" die gewünschte Breite und nach "height=" die Höhe in Pixel eintragen, speichern und die Datei wieder hochladen.

So einfach kanns sein...

Syntaxhighlighter für Serendipity

Mittwoch, 22. Oktober 2008

Sodala, endlich hab ichs geschafft, der Syntaxhighlighter ist installiert. Wie immer, eigentlich ist es ja ganz einfach...

Installation

Hier die Schritte:

  1. Das Plugin dp.SyntaxHighlighter von der Serendipity-Homepage downloaden.
  2. Das Zip-File entpacken und ins Plugin-Verzeichnis am Server hochladen.
  3. In der S9y-Verwaltungsoberfläche den Menüpunkt "Plugins verwalten" auswählen, dann bei Ereignis-Plugins auf "Hier klicken, um Ereignis-Plugin zu installieren" klicken und das Plugin dp.Syntaxhighlighter installieren (Disketten-Symbol rechts).
  4. Die Datei index.tpl des aktuellen Templates im Texteditor des Vertrauens öffnen. In den <head>-Tag die Zeile "{serendipity_hookPlugin hook="frontend_header"}" und am Ende des <body>-Tags die Zeile "{serendipity_hookPlugin hook="frontend_footer"}" einfügen.
  5. Falls das Plugin NL2BR installiert ist, dessen Konfiguration öffnen und in das Eingabefeld "code,pre,textarea" schreiben.

Anwendung

Um auch wirklich eingefärbten Quellcode in einem Eintrag anzeigen zu können, sind ein paar Dinge notwendig:

  1. Die Quelltexte müssen von <pre>-Tags eingeschlossen sein.
  2. Die Tags müssen als name-Attribut "code" und als class-Attribut ein Kürzel der jeweilige Programmiersprache haben, etwa so: <pre name="code" class="php">. Welche Kürzel für welche Programmiersprache verwendet werden können, verrät euch Google ;-)
  3. Den eigentlichen Quelltext kopiert ihr am besten vorformatiert aus eurer Programmierumgebung in die Zwischenablage und fügt ihn in der HML-Ansicht des Editors zwischen die <pre>-Tags ein.
  4. Optionalerweise sollte der Quelltext (der dann gefärbt werden soll) keine Sonderzeichen, sondern stattdessen  HTML-Entities enthalten. Eine Möglichkeit, diese automatisch zu ersetzen bietet die PHP-Funktion htmlentities().
  5. Speichern und fertig :-)

Also das ist ein ziemliches Gewurschtel, falls es eine schönere oder bessere Möglichkeit mit Serendipity gibt, bitte posten...

PHP Feedreader-Libraries: Zend_Feed vs. SimplePie

Donnerstag, 16. Oktober 2008

Ich hab mich in letzter Zeit ein wenig mit dem Zend Framework beschäftigt und bin nach kurzer zeit auch auf die PHP-Feedreader Komponente Zend_Feed gestoßen.Nach ein bisschen herumprobieren mit diversen Feeds, bin ich aber anscheinend schon an ihre Grenzen gestoßen. Das parsen von Atom-Feeds ist mir nicht gelungen, besser gesagt das extrahieren des link-Tags.Wobei ich jetzt nicht unbedingt die Schuld auf Zend_Feed schieben möchte, ich hab einfach nicht lange herumprobiert und Google hat nichts brauchbares zu dem Thema ausgespuckt.

Langer Rede kurzer Sinn, ich hab mich nach Alternativen umgesehen und bin auch sogleich fündig geworden: Eine oft empfohlene Library ist SimplePie, ein Open Source PHP Feed Reader. Der Vorteil, der sofort ins Auge sticht, ist die Fehlertoleranz und die Unterstüzung für diverse Feed-Formate. Momentan sind das (laut Website):

  • RSS 0.90
  • RSS 0.91 (Netscape)
  • RSS 0.91 (Userland)
  • RSS 0.92
  • RSS 1.0
  • RSS 2.0
  • Atom 0.3
  • Atom 1.0

Ein weiteres praktisches Feature ist das automatische Auffinden von Feeds einer Website. Man muss also nicht die genaue URL des Feeds eingeben, es reicht auch beispielsweise die Adresse eines Blogs. Das kann Zend_Feed zwar auch, macht es aber nicht automatisch (Was vielleicht auch performancetechnisch intelligenter ist, whatever).

Auch Caching der geladenen Einträge wird unterstützt, was die etwas trägere Performance etwas besser macht.

Zu guter letzt möchte ich ein kleines Beispiel bringen, um zu zeigen, wie einfach SimplePie angewandt werden kann:

<?php
require_once('simplepie/simplepie.inc');
$feed = new SimplePie('webcode.lemme.at');
$feed->handle_content_type();

if($feed->error()){
	//handle Error
}else{
	echo'<ul>';
	foreach ($feed->get_items() as $item) {
		echo '<li><ul>';
		echo '<li>'.$item->get_title().'</li>';
		echo '<li>'.$item->get_permalink().'</li>';
		echo '</ul></li>';
	}
	echo '</ul>';
}
?>

 Ich denke mal der Code ist halbwegs selbsterklärend, sollte er das nicht sein, darf natürlich in den Kommentaren gefragt werden ;-)