PHP: Trinitäts-Operator

Published 2006-09-11, 00:54

oder: Diese komischen Dinger mit Doppelpunkten, die ich noch nie kapiert habe…

Das kommt davon, wenn man sich PHP über learning by doing aneignet, logisch, auf jeden Fall konnte ich lange Zeit mit folgendem Code nicht wirklich etwas anfangen:

echo $success ? ‚+‘ : ‚-‚;

Es ging auch ohne.

Auf phpbar bin ich nun über eine vernünftige Erklärung gestolpert: http://www.phpbar.de/w/Trinit%C3%A4ts-Operator

PHP: Tagcloud? Wortwolke!

Published 2006-09-06, 14:31

Wikipedia: Wortwolke

Eine Wortwolke (englisch Tag cloud) ist die Methode zur Informationsvisualisierung bei der eine Wortliste zweidimensional alphabetisch sortiert angezeigt wird, wobei einzelne Worte unterschiedlich gewichtet größer oder auf andere Weise hervorgehoben dargestellt werden.

Wie generiere ich eine Tagcloud?

1. http://www.15tags.com/blog/tagcloud-demo-with-source/ besuchen
2. Sourcecode herunterladen und verstehen
3. Klasse mit Tags und Häufigkeit füttern
4. Fertig!

Wie verlinke ich nun die Tags mit den Tagseiten?

Übergebe der Klasse einfach direkt HTML-Code, der die Links schon enthält.

Statt

$tc_a_tags = array( 'some' => 1,
'random' => 4,
'tags' => 5,
'with' => 2,
'different' => 5,
'weight' => 3);

zum Beispiel einfach

$tc_a_tags = array(' <a href="tag/some">some</a>' => 1,
'<a href="tag/random">random</a> ' => 4,
'<a href="tag/tags">tags</a>' => 5,
'<a href="tag/with">with</a> ' => 2,
'<a href="tag/different">different</a> ' => 5,
'<a href="tag/weight">weight</a> ' => 3);

übergeben. So einfach.

Ist die Klasse von 15tags optimal?

Öhm keine Ahnung. Sie funktioniert und hilft zu verstehen, wie eine Tagcloud gebastelt wird. Um alles andere muss man sich dann schon selbst kümmern.

Weitere Links zum Thema

http://www.technologyevangelist.com/2006/03/how_to_make_a_tag_cl.html
http://www.codeprofessor.com/journal/2006/03/15/building-a-tag-cloud-in-wordpress/
http://w.astronote.jp/index.php?TagCloud.php
http://www.hawkee.com/snippet.php?snippet_id=1485

PHP: Zweiter Parameter von trim, ltrim und rtrim

Published 2006-09-06, 09:36

Wer mit PHP an Daten oder Texten herumspielt nutzt sicherlich öfter mal die Funktionen trim(), ltrim() oder rtrim(). Irgendwie scheine ich den mit PHP 4.1.0 eingeführten Paramter charlist verpasst zu haben:

string trim ( string str [, string charlist] )

In verschiedenen Kopien des Manuals kommt er auch teilweise gar nicht vor – zum Beispiel in der deutschen .chm-Datei. Sehr seltsam.

Auf jeden Fall gibt es ihn, und er ist absolut toll und spart ne Menge Arbeit. Falls noch jemand so doof ist wie ich und das bisher übersehen hat: Anschaun.

Pingfix 0.4b gleich hinterher

Published 2006-09-06, 00:17

Für Eilige: Neue Version 0.4b unter http://betamode.de/wp-pingfix/

Mein gestern veröffentlichtes Plugin Pingfix kam eigentlich ganz gut an. Dummerweise hatte ich jedoch einen kleineren Bug übersehen, der das Löschen alter Entwürfe teilweise mit einer unschönen Fehlermeldung quittierte. Dieser wurde nun behoben.

Zudem äußerte Boris Bedenken gegenüber einem voll beschreibbaren (chmod 777) „wp-content“-Verzeichnis. Zurecht. Ich hatte die Funktion ohne großes Nachdenken aus einem anderen Plugin übernommen.

Deshalb hat Pingfix nun einen eigenen Ordner für die Logfiles, der bei der Installation jedoch von Hand erstellt werden muss. Der Name des Logfiles ist ab sofort auch vom (verschlüsselten und gekürzten) Datenbankpasswort abhängig, so dass der Dateiname des Logfiles nicht mehr erraten werden kann. Dadurch wird es vor Zugriffen von außen geschützt.

Die nun aktuelle Version 0.4b, und die aktualisierte Installationsanleitung, gibt es wieder unter: http://betamode.de/wp-pingfix/

Aktuelles zu Pingfix: http://betamode.de/kategorie/projekte/pingfix/

Endlich: WordPress Pingfix 0.4(a)

Published 2006-09-04, 10:16

Man glaubt es kaum, aber heute habe ich es endlich geschafft Version 0.4 meines WordPressplugins „PingFix zu veröffentlichen: http://betamode.de/wp-pingfix/

Der Leser fragt sich nun sicher, was dieses PingFix eigentlich tut und wieso er das braucht. Die Antwort von der Pingfix-Seite:

PingFix verbessert und erweitert die WordPress-Pingfunktionen für Pingservices, Trackbacks und Pingbacks.

Aha. Etwas genauer:

Mit PingFix sendet ein Beitrag nur dann Pings, wenn er erstmalig im Weblog veröffentlicht wird, nicht bei jeder kleinen Änderung am Text. Beiträge, die erst in der Zukunft auf dem Blog erscheinen sollen, senden auch erst dann ihre Pings. Nicht schon, wenn der Beitrag geschrieben wird. Zusätzlich werden alle Pings zur besseren Kontrolle in einem Logfile protokolliert.

Welche Blogger brauchen das Plugin?
Meiner Meinung nach vor allem Blogger, die ihre geposteten Beiträge häufig editieren (Wer tut das nicht…) oder zu geplanten Zeiten veröffentlichen – diese Vorgänge werden durch das Plugin nämlich korrigiert und beschleunigt.

Bisher ging es doch auch ohne, wieso brauche ich nun plötzlich ein Plugin?
Mit dem Plugin läuft alles ein wenig „korrekter“ und besser ab: ein Ping bei erstmaliger Veröffentlichung reicht; ein Ping macht erst Sinn wenn der Beitrag veröffentlicht ist. Zudem gibt es nun ein schickes Logfile in dem die Pings protokolliert werden.

Download & Anleitung: http://betamode.de/wp-pingfix/
Aktuelles zu Pingfix: http://betamode.de/kategorie/projekte/pingfix/

Direkte Korrektur: Version 0.4a

Nach einem Hinweis von Frank Bültge ist mir aufgefallen, dass ich PingFix gar nicht auf Kompatibilität mit WordPress 1.5.x getestet hatte. Tatsächlich nutzte eine Unterfunktion erst ab WordPress 2.0.x verfügbare Funktionen – deshalb habe ich gleich eine korrigierte Version 0.4a hinterhergeschoben. Jetzt müsste es auch mit der alten WordPress-Version funktionieren.

Aktuelle Version

Die hier besprochenen Versionen von Pingfix sind nicht mehr aktuell. Aktuelles zu Pingfix findet sich in der Projektkategorie Pingfix.

Firefox: Long Titles

Published 2006-08-30, 19:04

https://addons.mozilla.org/firefox/1715/:

Due to Mozilla bug 45375, long tooltips are broken with „…“. This is especially annoying if these tooltips contain useful or important informations. Long Titles shows non-cropped tooltips for the title attributes.

Braucht man wegen dieser Seite. Wirklich.

Linksammlung PHP-Anwendungen optimieren

Published 2006-08-28, 03:06

http://benchmark.nophia.de/
http://www.thegeek.de/blog/index.php?type=archiv&post=200412
http://blog.antikoerperchen.de/beitrag/57/tra…en-website-geschwindigkeit-steigern.html
http://phplens.com/lens/php-book/optimizing-debugging-php.php
http://phplens.com/phpeverywhere/node/view/52
http://www.blueshoes.org/en/developer/php_bench/
http://www.fudnik.com/main/tiki-view_for…orumId=1&comments_parentId=2
http://www.phpbar.de/w/Referenz

Mal wieder die Text-Dateien vom Desktop aufräumen :) Ergänzungen?

PHP: Achtung bei current(), next() und prev()

Published 2006-08-26, 15:52

Im Manual steht es groß und auffällig, trotzdem habe ich natürlich einige Zeit gebraucht bis ich auch die Idee kam dort nachzuschauen:

Enthält das Array leere Elemente (0 oder „“, den leeren String), wird für diese ebenfalls ein Wert zurückgegeben, der als FALSE ausgewertet wird (siehe Umwandlung nach boolean und die Typvergleichs-Tabelle für zusätzliche Informationen). Das macht es unmöglich, unter Verwendung von current() herauszufinden, ob das wirklich am Ende der Liste sind. Um ein Array, das leere Elemente enthalten könnte richtig durchzugehen, verwenden Sie die Funktion each().

Also merken: current(), next() und prev() sind böse.

XAMPP / Mercury: 553 We do not relay non-local mail, sorry.

Published 2006-08-25, 23:13

Wer direkt mit dem bei XAMPP mitgelieferten Mailserver herumspielen möchte (XAMPP starten, Mercury starten, Mails mit Absender foo@example.org versenden) bekommt direkt mal folgenden Fehler geliefert:

553 We do not relay non-local mail, sorry.

Doch der lässt sich einfach beheben:
Configuration -> Connection Control -> Haken bei „Do not permit SMTP relaying of non-local mail“ wegmachen.

Wichtig: Nach dem Testen Mercury entweder wieder umstellen oder beenden – mit dieser Einstellung wird der eigene Rechner sonst schnell zur unkontrollierten Spamschleuder.

MySQL: Zeichensatzärger

Published 2006-08-25, 16:21

Im Juli habe ich mit meinem Beitrag latin1_german1_ci oder latin1_german2_ci? kurz das Thema Kollationen angeschnitten. Kris Köhntopp hat den ganzen Zeichensatzkram etwas ausführlicher erklärt:

http://blog.koehntopp.de/archives/1360-Zeichensatzaerger.html

43 queries. 0,261 seconds.