sebadorn

Profilbild Seba Über mich

PHP und OOP: Teil 3, Statische Inhalte

Informatik
8

PHP Egret

class Egret {

  protected $size; // cm
  protected static $counter = 0;

  public function __construct() {
    $this->size = rand(27, 230);
    self::$counter++;
  }

  public function __destruct() {
    echo 'Krawg! Kraahg!! *I am dying!*' . PHP_EOL;
    self::$counter--;
  }

  public function getSize() {
    return $this->size;
  }

  public static function getCount() {
    return self::$counter;
  }

}
weiterlesen

PHP und OOP: Teil 2, Sichtbereiche (public, protected, private)

Informatik
1

PHP Turtle

weiterlesen

PHP und Objektorientierung: Teil 1, Aufbau einer Klasse

Informatik
5

PHP Bear

Eine Einführung in Objektorientierung (OOP) in PHP. PHP 5 wohlgemerkt, was einen großen Unterschied macht, denn in PHP 4 sah der Aufbau einer Klasse noch etwas anders aus und sie taugten auch weniger. Und ja, das ist ein Bär.

weiterlesen

Ein kleiner PHP-Cache

Informatik
2

Für große und kleine Optimierungen werden häufig Caches eingesetzt. Im Bereich Weban­wendungen meistens ein File-Cache. Beim ersten Aufruf einer Seite rattert der PHP-Code durch und die erzeugte HTML-Ausgabe wird als Datei gespeichert und ausgegeben. Bei jeder weiteren Anfrage wird dann nur noch auf die Datei zurückgegriffen. Der Gewinn besteht in geringerer Serverbelastung und schnellerer Ausgabe.

Bei meinen Unternehmungen die Datenbank­anfragen zu reduzieren, musste ich die Ergeb­nisse kurzzeitig zwischenspeichern. Ein File-Cache wäre simpler Overkill und ein Datenbank-Cache wäre, nun, dämlich in dem Fall.

Zum Einsatz kommt jetzt eine kleine Klasse, die einfach nur Werte in Variablen speichert und in jedem Scope erreichbar ist. Aufgrund der kurzen Lebensdauer, die nur die Länge einer Seiten-Anfrage hat, heißt die Klasse „RequestCache“.

weiterlesen

Kleine Code-Fragmente zur Performance-Analyse bei PHP

Informatik
2

Benötigte Zeit, Arbeitsspeicher und DB-Zugriffe

Bei meinem CMS-Projekt aestas2 möchte ich – so weit mir mit meinem aktuellen Wissens­stand möglich – alles ordentlich erledigen und richtig machen. Features sind nicht alles, dazu gehört auch Optimierung. Dafür braucht man wiederum Zahlenwerte, die man für Vorher und Nachher vergleichen kann.

Zeitmessung

Am Einstiegspunkt des Skriptes merkt man sich den jetzigen Timestamp. Dann folgt der ganze eigentliche Ablauf mit Datenbankanfragen, Berrechnungen, Ausgaben oder was sonst geschieht. Danach, am Skriptende, wird die benötigte Zeit errechnet und ausgegeben.

$time_start = microtime( true );

[…]

$time_end = microtime( true );
$time = round( $time_end - $time_start, 4 );
echo 'Benötigte Zeit: ' . $time;

Die Messergebnisse schwanken dabei natürlich ein wenig und man sollte die Seite mehrmals neuladen, bevor man das Resultat bewertet. Beim lokalen Entwickeln ist auch zu bedenken, dass jedes weitere laufende Programm wie z.B. der Audioplayer Leistung nimmt und dadurch das Ergebnis verfälscht.

weiterlesen