(#) Netzware

Open Source, Technik und mehr.

Themen Bereich: Open Source

Medoo - Eine Datenbankklasse für mehrere Systeme

Anfangen habe ich mit PHP 5.3. In der Version habe ich im Bereich Datenbanken die üblichen PHP Funktionen mysql_query(), mysql_fetch_row() und mysql_connect() benutzt. Mit dem Umstieg auf MySqli gab es viel Arbeit. Denn jede MySql Funktion musste händisch nachgezogen werden und das kostete viel Zeit. Seit dem setze ich auf Datenbankklassen. Ändert sich eine Version oder der Treiber, brauche ich nur noch eine Stelle anpassen: Die Klasse selber.

Im laufe der Zeit habe ich so einige Datenbankklassen ausprobiert und selber eine eigene kleine für mich intern programmiert. Da die Pflege einer Datenb...

Redis als PHP Session Handler

Mit PHP 7 gab es schon einen gewaltigen Performance Schub nach oben. Die Laufzeit ist bei meinem Projekten mit PHP 7.0 im Gegensatz zu PHP 5.6 drei mal schneller. Um den ganzen noch einen kleinen Schub nach oben zu geben, habe ich mit Redis rum experimentiert. Um genau zu sein, mit dem Session save_handler von PHP. Dem Session Handler kann nützlicherweise eine andere Speicherroutine zugewiesen werden.

Im Standard ist der PHP Save Handler auf files eingestellt. PHP Sessions werden so in PHP interne Session Dateien gespeichert. Da eine Session in der Regel nur einen Schlüssel und Wert (key, valu...

Drei top Entwickler Werkzeuge die ihr Geld wert sind

Als Programmierer fängt man an Open Source Software zu lieben. Jeder kann den Software Code einsehen, ihn nach belieben anpassen und den Hauptentwickler helfen. Der größte Vorteil davon ist natürlich das die Software kostenlos ist. Kostenlos in Form von geldlos, denn genau genommen kostet jede Software Zeit. Und das nicht gerade wenig.

Nach gut sechs Jahren bin ich aber in einigen Bereichen an meine Grenzen gestoßen. Vor allem im Bereich Programmierung gibt es viele kostenlose Editoren, Tools und andere Helferlein. Doch irgendwann kommt man an den Punkt, da fehlt einem der Support, regelmäßige...

baguetteBox - Eine reine JavaScript Lightbox für Bilder

Wer auf seiner Webseite Bilder oder Grafiken einbindet, kann nicht immer die volle Größe verwenden. Das sprengt regelrecht das Design. Genau deswegen werden Bilder verkleinert eingebunden. Das hat den Nachteil, dass der Besucher nur ein kleines Bild sieht. Als Lösung verwenden die meisten Designer sogenannte Lightbox Plugins. Das Bild wird verkleinert eingebunden, beim Klick auf das Bild vergrößert sich die Ansicht in einem Modal. So schlägt man zwei Fliegen mit einer Klappe.

Einen sehr interessanten Ansatz macht hierbei das Lightbox Script baguetteBox.js. Anders als die großen Lightbox Plugin...

Wordpress mit Redis Caching

Wordpress ist ein mächtiges Content Management System, das durchaus seine Schwierigkeiten mit der Ladezeit hat. Für mehr Performance gibt es zahlreiche Caching Plugins, die Wordpress Seiten schneller machen sollen. Die meisten Plugins legen die Artikel entweder in der Datenbank ab oder generieren statische HTML Seiten, welche beim Artikel Aufruf geladen werden. So wird die Datenbank geschont und die Ladezeit wird deutlich verkürzt. Ich gehe da einen anderen Weg und setzte auf die zur NoSQL Familie gehörende In-Memory Datenbank Redis.

Was ist Redis?

Redis gehört zur NoSQL Familie und ist wenige...

Content Management Systeme für kleine Webseiten

Wordpress hier, Wordpress da. Bei fast jeder CMS Auflistung stehen die großen Content Management Systeme wie Drupal, Wordpress, Joomla oder Typo3 immer an erster Stelle. Nicht so bei mir. Ich lege viel Wert auf kleine Nischen CMS die schnell installiert werden können, einfach zu bedienen sind und Potenzial haben. Nur weil diese nicht so bekannt sind wie die großen, heißt es noch lange nicht das diese nichts Wert sind.

In dieser Auflistung stelle ich meine Favoriten für das Jahr 2016 vor. Alle Content Management Systemen habe ich selber ausprobiert. Teilweise habe ich auch für einige ein eigene...

[QuickTipp] Ein CSS Spicker für nebenbei

Immer wieder gibt es bei der täglichen Arbeit Probleme mit CSS (Cascading Style Sheets). Die meisten Entwickler haben die alle Grundlagen drauf, aber alle CSS Attribute kann keiner auswendig kennen (Überzeugt mich vom Gegenteil). Um schnell nachzusehen welche Eigenschaften es gibt und wie man diese anwendet, gibt es immer wieder CSS Referenzseiten die einem kurz und knapp mit den nötigsten Details versorgen. So auch die Seite cssreference.io.

Auf einer Seite versorgt einem cssreference.io mit allen wichtigen Infos rund um die möglichen Eigenschaften. Beschrieben sind alle Eigenschaften. Zu jed...

[Quicktipp] Vendor Verzeichnis sperren

Seitdem PHP Composer an Größe gewonnen hat und immer mehr im Einsatz ist, kann deutlich schneller und bequemer auf externe Tools zugegriffen werden. Was viele nicht bedenken ist der Beispiel Code.

In den meisten Git Repositories liegen oft Demos. Diese zeigen wie man die Tools einsetzt oder richtig anwendet. Natürlich sind es tolle Hilfen. Diese Demos können auch gefährlich werden. Etwa bei einem File-Upoad Tool oder bei Export/Import Frameworks. Genau aus diesem Grund sollte der Zugriff auf das Vendor Verzeichnis vom Server aus immer blockiert werden.

Zugriff sperren per vHost

In den meisten ...

PHP Debugging mit Kint

Seit einigen Wochen verwende ich privat als auch beruflich die PHP Klasse Kint von raveren (github). Grundlegend ersetzt die Klasse die PHP Funktionen print_r()var_dump() und debug_backtrace(). Zusätzlich bietet Kint noch ein paar nette Features an und zeigt die Ausgabe gestylt.

So lässt sich das Debugging direkt in den Code implementieren, ohne Ausgaben zu erzeugen. Über die Methode Kint::enabled(false) lässt sich das Debugging global an- und ausschalten. Wird Kint::trace() oder Kint::dump(1) aufgerufen, wird ein detaillierter Stacktrace angezeigt.

Kint installieren

Die debugging Klasse kan...

Meine CSS Framework Favoriten

Es gibt zahlreiche CSS Frameworks und jedes ist angeblich besser, als das Andere. Grundsätzlich sollte man sich zuerst die Frage stellen, wie umfangreich das Projekt wird. Bei einem kleinen drei Seiten Projekt ist es unsinnig das größte und tollste CSS-Framework einzusetzen. Anders herum ist es aber auch Quatsch ein kleines Light-Framework einzusetzen, das nicht alle Extras beinhaltet und am Ende mehr Arbeit verursacht als einem Abnimmt.

Da stellt sich die Frage: Was wird benötigt? Da ich gerne zwischen einem großen und kleinen Projekt unterscheide, habe ich auch für beide Varianten meine ganz...