Zum Inhalt springen

Phpmonkeys Posts

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

GWT mit PHP Backend verknüpfen

Das Google Web Toolkit macht einem Java-Entwickler richtig Spaß. Damit die PHP Entwickler auch etwas von diesem Spaß abhaben, müssen sie nicht auf Java wechseln. Man kann Das GWT Frontend mit dem PHP Backend verbinden. Das ist ja grundsätzlich richtig einfach. Man nutzt zum Beispiel JSON um Daten auszutauschen.

GWT unterstützt dies natürlich (es fällt schließlich JS aus dem GWT-Compiler raus) und PHP unterstützt JSON inzwischen auch nativ (ab Version 5.2). Alternativ kann man auch mit XML-Daten arbeiten. Das eigentlich Probleme ist die „Same Origin Policy„.

GWT Hosted Mode Problem unter Macos

Update: Die Beschreibung ist für die Version 1.71 von GWT gedacht. Mit dem Release der Version 2.0 ist sie hinfällig.

Heute gibt es einmal etwas zum Thema GWT (Google Web Toolkit). Beruflich setze ich mit dem Thema auseinander und finde das Konzept wirklich spannend. Aber nun zu dem Problem. GWT nutzt unter Macos für den Hosted Mode den Safari. Wenn man mit GWT entwickelt, benutzt man den Hosted Mode, damit man direkt den Java Source (nicht den Javascript-Source!) debuggen kann. In Version 2.0 kann man zwar jeden Browser benutzen, aber da hatte ich andere Probleme.

Was passiert nun. Man startet den Hosted Mode und der HM-Browser stürzt ab. Als Fehlermeldung liest man „Invalid memory access in …“.

Google Wave

Die letzten WOchen habe ich mir Google Wave angeschaut. Da es noch immer Personen (selbst aus dem IT-Bereich) gibt, die nicht wissen was Google da produziert, hier eine kurze Erklärung.

Google Wave ist eine Mischung aus Email, Chat und Wiki. Das ist die primäre Funktionalität, die Wave von sich aus bereitstellt. Spaß macht es erst, wenn man einige Personen in der Kontaktliste hat. Diese Personen kann man einladen (man hat 8 EInladung frei) oder im Bekannten/Kollegen-Kreis nachfragen. Irgendwie haben einige Leute so einen Account, auch wenn es keiner zugibt. Auf jeden Fall kann man Personen über eine Art Emailadresse in die Kontaktliste einbinden.

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