Zum Inhalt springen

Schlagwort: PHP

Logging mit dem log4php-Framework

Ein wichtiges Thema bei der Entwicklung – und darüber hinaus – ist das Logging. Üblicherweise gibt es verschiedene Log-Level, die angeben wie schwer ein Fehler ist bzw ob es sich nur um eine Information oder nur eine Debug-Meldung handelt. Der Vorteil eines Logging-Frameworks ist die Einfachheit in der Konfiguration, denn ein Entwicklungssystem, ein Stangingsystem und das Livesystem nutzen verschiedene Einstellungen. Log4php ist ein solches Framework, das vom Aufbau her wie log4j ist und im Apache Incubator Programm zu finden ist.

OpCode Cache – eine kurze Beschreibung

Nachdem ich im letzten Beitrag eine Installationsanleitung für APC geschrieben hatte, gibt es nun die Theorie dazu.Was macht PHP im Hintergrund, damit eine Quelltextdatei ausgeführt werden kann? Wenn man ersteinmal weiß, wie diese Grundlagen sind, so ist ein OpCode Cache keine Magie mehr. Es ist sogar sehr einleuchtend, wieso ein solcher Cache so funktioniert wie er dies tut.

APC unter Ubuntu (8.04 LTS aka Hardy Heron) installieren

Heute gibt es ein paar Infos zum OpCode-Caching. Grob gesagt wird der PHP-Code in einen OpCode compiliert und dieser wird anschließend ausgeführt. Bei jedem Aufruf eines PHP-Skripts passiert genau dieser Vorgang. Unabhängig davon, ob das Skript geändert wurde oder nicht. Hört sich ja eigentlich ziemlich unlogisch an und darum gibt es OpCode Caches. Diese speichern den OpCode und führen diesen dann aus. Damit spart man sich die Compile-Zeit.

PHPUnit – Testklassen automatisch generieren

PHPUnit ist ja ein größeres Thema. Also gibt es jetzt nur einen kleinen Vorgeschmack. Falls sich jemand die Doku angeschaut hat, wird er/sie die Beispiele und die Generierung wiedererkennen und langweilig finden. Ich habe heute diese Funktion aber mal selbst ausprobiert und war ziemlich begeistert, wie toll dies funktioniert.

Eine nervige Arbeit ist immer einen Unittest zu definieren, der eine Methode testet, die mit primitiven Typen umgeht. Man schreibt eigentlich relativ simplen Code und braucht dafür viel Zeit. Das muss aber nicht so sein. PHPUnit kann mir diese Arbeit abnehmen. Ich muss nur ein paar Annotations nutzen, die ich an die entsprechenden Methoden schreibe. Wie passend, dass ich diese im letzten Beitrag bereits erklärt hatte.

Annotations in PHP

Java hat ein Sprachkonstrukt, dass sich „Annotation“ nennt. Dabei handelt es sich um Anmerkungen im Quelltext, die diesen mit zusätzlicher Funktionalität oder Informationen ausstatten. Ein Beispiel ist das ORM. Man schreibt einfach seine Klasse wie gehabt, verknüpft diese dann aber über Annotations mit dem benutzten ORM-System. Man kann so die Tabelle angeben, oder welches Attribut mit welcher Spalte verknüpft ist. Weiter könnte man sich auch vorstellen, diese Funktion für Code Generatoren zu nutzen. Die dann entsprechenden Code erzeugen.

Design Pattern: „Singleton“

Da dies der erste Beitrag zum großen Thema „Design Pattern“ ist, gibt es eine kurze Einführung. Ein „Design Pattern“ ist ein Muster in der Softwareentwicklung, das sich bewährt hat und von vielen Leute genauso genutzt wird. Damit man für ein solches Muster auch einen Namen hat, überlegt man sich eine gute Umschreibung und schon hat man ein neues Design Pattern (oder Entwurfsmuster) geschaffen.

Nun gibt es das Singleton. Dies ist eine Klasse, von der es nur eine Instanz gibt. Eigentlich ein recht einfaches Konzept.

Vortrag: „Enterprise Webapplikationen mit PHP“

Heute möchte ich die Gelegenheit für etwas Eigenwerbung nutzen.

Ich halte im Rahmen der Vortragsreihe „IT-Knowhow aus erster Hand – Profitieren Sie von über 25 Jahren Praxiserfahrung in der Softwareentwicklung!“ einen Vortrag zum Thema „Enterprise Webapplikationen mit PHP“. Dieser Vortrag wird am 21. Januar 2010 in den Räumlichkeiten der META-LEVEL Software AG abgehalten und nach einer vorherigen Anmeldung kann jeder vorbeikommen. Die Teilnahme ist kostenlos.

Für Informationen zur Anmeldung hier klicken

Mehr PHP Tools

Nachdem ich schon CodeSniffer und phploc vorgestellt habe, möchte ich noch weitere Tools aus diesem Bereich vorstellen. Bei diesen Tools handelt es sich um phpdepend, phpmd und phpcpd. Was sich hinter diesen Namen verbirgt, kann man hier nachlesen.

CodeSniffer – eine kleine Ergänzung

Der liebe CodeSNiffer lässt mir keine Ruhe. Ich habe vor kurzem beispielhaft einen Standard geschrieben. Dieser wird natürlich im Verzeichnis Standards unter CodeSniffer abgelegt. Um eine gewisse Ordnung zu haben und sich an die Vorgaben zu halten, muss man hier ein Unterverzeichnis mit dem Standard-Namen anlegen. Darin wird dann eine Klasse angelegt, die die eigentlichen Informationen zu dem Standard enthält – also welche Sniffs genutzt werden sollen, ob ein anderer Standard inkludiert werden soll etc.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close