Alle Artikel in: Bücher

Benutzerführung in GIMP 2.6

Michael Walder hat ein kleines Tutorial veröffentlicht, in dem er zeigt, wie man mit Gimp 2.6 seine eigene Benutzeroberfläche zusammenstellen kann. Auf diese Weise wird die Oberfläche schlanker und übersichtlicher und nimmt auf dem Desktop weniger Platz ein. Dies ist ein Tutorial aus dem Buch Praxisworkshop GIMP 2 von Michael Walder. Praxisworkshop GIMP 2 – Die wichtigsten Werkzeuge Mehr über die Anwendung von Gimp erfahren Sie im Buch Praxisworkshop GIMP 2.

PHP 5: Callback-Funktionen mit einem Zustandsgedächtnis programmieren

Problem Sie benötigen eine Callback-Funktion. Eine einfache Funktion (z.B. ein Closure oder eine Lambda-Funktion) reicht aber für Ihre Zwecke nicht aus, da die Callback-Funktion einen eigenen Zustand halten – also ein Zustandsgedächtnis haben – soll. Lösung Seit PHP 5.3 haben Sie die Möglichkeit, von Funktionsobjekten Gebrauch zu machen. Dabei handelt es sich um Objekte, die wie Funktionen behandelt und demnach also auch wie Funktionen aufgerufen werden können: class Funktor { public function __invoke($wert) { print $wert . „\n“; } } $f = new Funktor; $f(‚Hallo Welt!‘); Hallo Welt! Diskussion In Rezept 6.12 haben Sie gesehen, wie Lambda-Funktionen verwendet werden können, um z.B. ein Array mit der Funktion usort() zu sortieren. Diese Funktionen werden oft als Callback-Funktionen oder kurz Callbacks bezeichnet. Ein solches Callback übergibt man an eine beliebige Funktion, und diese ruft es mit diversen Parameterwerten auf. Die usort()-Funktion ruft ein Callback beispielsweise mit zwei Werten auf, die miteinander verglichen werden sollen. Die Callback-Funktion ist dabei nicht in der Lage, einen Zustand über mehrere Aufrufe hinweg zu halten. Einfach formuliert, könnte man sagen, sie hat …

Mit dem CMS wird alles einfacher – oder das Märchen vom Redaktionssystem

Michael Bielitza hat soeben das „TYPO3 Handbuch für Redakteure“ in zweiter Auflage veröffentlicht – zusammen mit seinem Co-Autor Christoph Klümpel sowie Pascal Hinz, Martin Holtz und André Steiling. Im folgenden Blogbeitrag berichtet er, welche Vorzüge Content-Management-Systeme haben, und an welchen Punkten dennoch die Umsetzung im Unternehmen oft scheitert. Und: wie es besser geht! Es war einmal eine Firma, die wünschte sich einen interessanten Internetauftritt mit aktuellen Inhalten. Der Weg über die Agentur war Ihr auf Dauer zu teuer und die Leute dort hatten auch nicht immer die Zeit, auf die spontanen Wünsche einzugehen. Also baten Sie die Agentur, die Website zu überarbeiten und auf Basis eines freien Open-Source CMS umzusetzen, damit sie die tagesaktuellen Inhalte dann einfach und schnell selbst einpflegen können. Seitdem pflegen die im Unternehmen extra eingestellten, ausgebildeten Onlineredakteure täglich den Internetauftritt und falls ihnen keine neue Version des Internet Explorers dazwischen kommt, pflegen sie ihn noch heute. Ach, schön… Aber leider ist das nur ein Märchen, die Wirklichkeit schaut meist anders aus. Für den eigenen Webauftritt wird in Unternehmen, selbst in größeren mittelständischen Firmen, in der Regel niemand eingestellt. Meist bekommt jemand aus dem Bereich Öffentlichkeitsarbeit oder aus dem …

Die Vorzüge von WordPress

Gerade eben haben wir ein Buch veröffentlicht, dass ab sofort auch einen festen Platz auf meinem Schreibtisch hat: Praxiswissen WordPress. Schließlich sind wir hier im Verlag auch eifrige WP-Blogger, und ich hatte zudem auch das Glück, dessen Entwickler Matt Mullenweg im Februar auf dem WordCamp Jena kennenzulernen. Was WordPress leistet – und von anderen Blogsystemen unterscheidet – habe ich die Autorin des Buches Olivia Adler gefragt. Olivia, alles Gute zu Deinem Buch „Praxiswissen WordPress“! Wie lange hast Du daran gearbeitet? Und wie fühlt es sich an, das Buch nun vorliegen zu haben? Vielen Dank für die guten Wünsche! Die Arbeit am Buch zog sich über sechs Monate hin – wie meistens bei solchen Projekten kann man sich leider nicht in eine einsame Berghütte einschließen und alle anderen Arbeiten außen vor lassen. ;-) Das fertige Buch in Händen zu halten fühlt sich gut an, es ist nun greifbar, und die Gestaltung mit dem blauen Frosch gefällt mir sehr gut. Man kennt Dich von Fachzeitschriftenartikeln im IT-Bereich, und Du hast schon mehrere Bücher veröffentlicht. Außerdem bloggst Du …

PHP 5: Mit Namespaces Kollisionen zwischen Klassennamen verhindern

Problem Sie nutzen in Ihrer Applikation diverse Bibliotheken oder Frameworks und wollen Konflikte zwischen eigenen Klassen und Framework-Klassen mit identischen Namen vermeiden. Sie möchten dabei aber nicht den in PHP häufig angewandten Kompromiss eingehen und den Klassennamen verkomplizieren (z.B. MeinProjekt_MeineTeilanwendung_Meine-Klasse). Lösung Durch die Verwendung von Namespaces, die ab PHP 5.3 zur Verfügung stehen, können Sie eine saubere Trennung der Namensräume erreichen, ohne den Klassennamen künstlich zu verkomplizieren. Das folgende Codebeispiel zeigt, wie das aussehen könnte: namespace net\php\pear\Date { class DateTime { public function __construct() { print __CLASS__ . “ created\n“; } } } namespace de\oreilly\phpckbk { class DateTime { public function __construct() { print __CLASS__ . “ created\n“; } } $oreillyDateTime      = new DateTime(); use net\php\pear\Date; $pearDateTime         = new Date\DateTime(); $phpDateTime          = new \DateTime(); print_r($phpDateTime); } Wie Sie sehen, werden im gezeigten Codebeispiel drei Klassen mit identischem Namen (DateTime) verwendet. Wir selbst bewegen uns im Namensraum de\oreilly\phpckbk und haben dort die Klasse DateTime definiert. Diese kann also ohne weitere Namensraumangabe instantiiert werden. Durch Angeben des entsprechenden Namensraums können wir genauso einfach …