PHP

Lithium PHP - Linksammlung

in


Seit Anfang des Jahres arbeite ich in einem Projekt, in dem wir das Backend eines grossen Webportals komplett neu bauen.

Als Basis für diese Neuentwicklung nutzen wir das
PHP 5.3+ Framework "Lithium PHP".

Ich habe dieses Framework erst in meinem aktuellen Projekt kennen und auch inzwischen schätzen gelernt.

Dieser Artikel soll einen ersten Einstieg in die Lithium Welt geben und dient vor allem als Linksammlung mit vielen verschiedenen Links zu Seiten rund um Lithium PHP.

Hervorgegangen ist Lithium PHP aus dem allseit bekannten und beliebten PHP Framework Cake PHP, wo es zuerst als PHP 5.3 Variante von Cake entstanden ist. (Cake 3).

Einige einführende Worte zur Entstehungsgeschichte sowie einige weiterführende Links gibts bei Wikipedia.

Dieser Artikel ist weniger eine technische Einleitung, als vielmehr eine Linkliste mit verschiedensten Einstiegspunkten in die Lithium PHP Welt.

Lithium PHP Framework - Linksammlung

Eclipse - "General Project" in "PHP Project" umwandeln

in

Hat man in Eclipse ein Project als General Project angelegt, und merkt im Laufe des Projektes, dass der Anteil an PHP im eigenen Projekt immer mehr überwiegt, dann liegt es nahe, das Projekt in ein PHP Project umzuwandeln.

Die Vorteile, die man durch die Umwandlung erhält, sind u.a. die Möglichkeit der Nutzung des PHP Explorers, in dem z.B. der gesamte PHP Core durchsucht werden kann oder in dem auch Fremdbibliotheken, wie PEAR durchsucht werden können.

Außerdem ist neben Code Assist für PHP nach der Umwandlung in ein PHP Projekt auch das Anzeigen der Outline einer PHP Datei möglich.

Diese Umwandlung eines "General Projects" in ein "PHP Project" ist in Eclipse über folgenden Weg möglich:

1. .project Datei im jeweiligen Projekt

Zeile mit "nature-Tag" suchen und folgendes einfügen:

Vorher

<natures>
</natures>

Nachher

<natures>
<nature>
org.eclipse.php.core.PHPNature
</nature>
</natures>

 

2. .buildpath Datei im jeweiligen Projekt

Vorher

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>	 	
<buildpathentry kind="src" path=""/> </buildpath>
</buildpath>

Nachher

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
<buildpathentry kind="con" path="org.eclipse.dltk.USER_LIBRARY/PEAR"/>
<buildpathentry kind="src" path=""/>
</buildpath>

Fazit

Eigentlich wird hier nur die "Nature" des eigenen Projektes in der .project-Datei auf PHP umgeändert und zusätzlich in der .buildpath-Datei die PHP Core Library und in diesem Fall auch die PEAR Library mit ins Projekt eingefügt.

Durch diese kleinen Änderungen wird dann schnell aus einem "General Project" ein "PHP Project".

Zusatz

Diese Änderungen können natürlich auch für jede andere Sprache gemacht werden.

Für die Umwandlung in ein Java Project muss z.B. nur diese Zeile im "Nature-Tag" der .project-Datei eingefügt werden:

<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>

 

#ipc11 - International PHP 2011 Conference - Zusammenfassung

Das war sie also meine erste PHP Conference. Alles in allem eine wirklich gute Sache, wie es halt immer ist, es gibt gutes und weniger gutes zu sagen und ich werde hier einiges von dem was ich so gehört und erlebt habe, zusammentragen.

Da dieser Artikel etwas länger wird, erstmal ein kurzer Teaser, damit ihr wißt auf was ihr euch beim lesen einlasst.

Ich werde auf die Vorträge, dich ich besucht habe, eingehen und jeweils (soweit aktuell schon vorhanden) die Folien verlinken (Gesamtuebersicht der Folien auf joind.in) bzw. sonstige Informationen (zB. zum Speaker etc.) zusammentragen, und auch meine jeweilige Meinung zum Thema und auch zum Vortrag schreiben.

Außerdem werde ich noch einige persönliche Eindrücke von der Conference einfliessen lassen.

Wenn ihr also jetzt noch nicht total ermüdet seid, viel Spaß beim weiterlesen.
 

Hier erstmal eine Liste der Vorträge, die ich mir angehört habe (Details gibts dann weiter unten):

IPC - 10. Oktober 2011

  •         PHP 5.4 – An Update (Johannes Schlüter - Oracle)    
  •         Git-Crashkurs (Tobias Günther fournova GmbH
  •         Keynote: Rechts überholt – Überlebensstrategien für das große Innovations-Rennen  (Gernot Pflüger)
  •         Security 202 – Are you sure your Site is secure? (Arne Blankerts - thePHP.cc)
  •         PHP Testing Tools (Sebastian Bergmann - thePHP.cc)
  •         Redis – Your advanced in-memory key-value Store (Jordi Boggiano Nelmio)

IPC - 11. Oktober 2011

  •         PHP & MySQL – A Dream Team (Johannes Schlüter - Oracle)
  •         Profiling PHP Applications (Derick Rethans)
  •         Keynote: How the Web Evolves with Hypermedia (David Zuelke)
  •         Designing HTTP Interfaces and RESTful Web Services (David Zuelke - Bitextender GmbH)
  •         Symfony2 by Code (Lukas Smith Liip AG)
  •         Scalable high-performance Architectures (Stefan Priebsch - thePHP.cc)
  •         PHPopstar – Vom Folienableser zum spannenden Vortrag

IPC - 12. Oktober 2011

  •         Practical DevOps for Developers (Johann-Peter Hartmann - SektionEins GmbH)
  •         Keynote: Cloud by Example (Amazon Webservices) (Dr. Matt Wood - Amozon)
  •         Handys und Tablets: Webentwicklung jenseits des Desktops (Patrick Lauke - Opera Software ASA)
  •         Doctrine 2: Next Generation ORM (Benjamin Eberlei - SimpleThings GmbH)
  •         Vom lokalen Build zum Deployment (Manuel Pichler - Qafoo GmbH)

IPC - International PHP 2011 Conference in Mainz #ipc11 #wtc11

Ich bin die nächsten 3 Tage auf der IPC in Mainz unterwegs und werde mir verschiedenste Vorträge über aktuelle Themen in der Webentwicklung anhören.

Die Webtechconferenz findet parallel zur IPC im gleichen Kongresszentrum statt und bietet auch einige interessante Vorträge.

Ob über die Zukunft von PHP (5.4), über Git, Testing, Sicherheit in der Softwareentwicklung, Frontendsachen wie HTML 5, Javascript und CSS 3, NoSQL-DBs, Frameworks bis hin zu DevOpsGeschichten wie Continious Integration oder auch der Entwicklung von mobilen Apps ist einiges dabei, was mich interessiert.

Ich werde zu den Vorträgen die ich besuche, versuchen zeitnah jeweils etwas zu schreiben.
Außerdem schau ich mal, dass ich die Slides der Vorträge, die mich interessieren hier zusammentrage.

Hier vorab schonmal die Links beider Veranstaltungen:

http://phpconference.com/

http://webtechcon.de/

Parallels Confixx und PHP 5.3

in

Nachdem wir unseren Server auf PHP 5.3 geupdatet hatten, fiel uns auf, dass einige Bereiche von Confixx nicht mehr richtig liefen. Unter anderem im Bereich Domains.

Jede konfigurierte Domain wurde mehrere Male hintereinander in einem Kunden-Account angezeigt (Benutzeroberfläche / Einstellungen / Domain-Seite, Tabelle Domainverwaltung).

Problem ist hier, dass Confixx <= 3.3.6 nicht mit PHP 5.3 umgehen kann.

Folgender Patch behebt aber das Problem:

http://kb.parallels.com/de/8078

Zeilenumbrüche in PHP

in

Ich weiß, ist ein alter Hut, bin aber heute selbst drüber gestolpert.

Bin gerade dabei Inhalte einer Datenbank mittels PHP als CSV auszugeben.

Dabei sollen Zeilenumbrüche in einer Zelle eingefügt werden.

Zeilenumbrüche?

Achja: Unix will ein \n
Windows braucht noch ein \r dazu.

Wichtig in PHP: Die Steuerzeichen müssen in " " und nicht in ' '  eingefügt werden!!!

Also merke: "\r\n" erzeugt in PHP Zeilenumbrüche für Windowssysteme.

Eclipse für Drupal einrichten

Da ich gerade mein Eclipse neu einrichte, gibts hier einige interessante Links, die einem die Konfiguration von Eclipse für einen effizienten Drupal-Entwicklungsprozess erleichtern.

Da ich ein 64bit Windows nutze, zuerst mal die Links zu den 64bit Varianten von Java und Eclipse:

Java SE Development Kit 6u20 64bit (enthält JRE)

http://java.sun.com/javase/downloads/

(Wichtig: unter Platform, Windows x64 auswählen)

Eclipse 64bit

Gewünschte Eclipse Version aussuchen und auf der folgenden Seite die Windows (x86_64) Version auswählen

http://download.eclipse.org/eclipse/downloads/

(dort dann Windows (x86_64))
 

Eclipse Plugins: PHP Development Tools (PDT) und Subversive

Über Eclipse "Install New Software" diese beiden Plugins installieren.

Jetzt hat man erstmal eine solide IDE, die allgemein für PHP Entwicklung eingesetzt werden kann.

Weiter gehts mit den Einstellungen für den Drupal Entwicklungsprozess.

HipHop für PHP

Heute hat Haiping Zhao, seines Zeichens Entwickler bei Facebook, in einem Blogeintrag auf der Developerseite von Facebook ein Projekt der Öffentlichkeit präsentiert, an dem er und ein kleines Team die letzten zwei Jahre gearbeitet haben.

HipHop für PHP.

Hinter diesem gewöhnungsbedürftigen Namen verbirgt sich ein neuer Cross-Compiler, der PHP Code in C++ Code kompiliert und so die Ausführungsgeschwindigkeit von Webanwendungen deutllich erhöhen (um bis zu 50 Prozent) sowie die Serverlast veringern soll.

Neben dem Geschwindigkeitsvorteil liegt ein weiterer Vorteil klar auf der Hand, den auch Haiping Zhao nennt.
PHP ist eine sehr einfach zu lernende, gut zu lesende und schnell und einfach zu schreibende Programmiersprache und so findet man im PHP Umfeld auch viel mehr Programmierer als zum Beispiel bei C++.

Wenn man nun diese Vorteile von PHP mit der höheren Ausführungsgeschwindigkeit von C++ kombinieren kann, wäre schon viel gewonnen.

Natürlich steckt auch dieses Projekt noch in den Kinderschuhen und so können noch keine PHP 5.3 Features wie Namespacing, usw. eingesetzt werden, aber es ist ein Anfang und da das Projekt als OpenSource unter der GPL auf GitHub veröffentlicht wird, bleibt abzuwarten was die weltweite Programmierer Community daraus macht.

Abschliessend noch mein persönlicher Eindruck von diesem Projekt, ohne es bisher ausprobiert zu haben:
Ich finde es irgendwie lustig, wenn man den Code einer Programmiersprache wie PHP, die in C geschrieben wurde, wieder zurück in C++ kompiliert :)

Hier noch der Link zum Blogpost auf Facebook:

http://developers.facebook.com/blog/post/358

Facebooks PHP Profiler XHProf

in

Ich bin gerade über einen neuen Profiler für PHP Anwendungen gestolpert, den ich mir genauer anschauen werde und zwar den XHProf.

Entwickelt im Umfeld von Facebook, soll er helfen die Performance der eigenen Anwendung deutlich zu erhöhen.

Hier die Links zum Thema:

http://mirror.facebook.net/facebook/xhprof/doc.html

http://pecl.php.net/package/xhprof

http://mirror.facebook.net/facebook/xhprof/doc.html

PHP Entwicklungstools - Nützliche Helfer beim Programmieren

in

Im Alltag eines PHP Entwicklers sind einige Tools sehr hilfreich und erleichtern die Arbeit ungemein. Ob es um das Finden von Fehlern, automatisiertes Testen, die Dokumentation des Codes oder den Buildprozess geht, für alles gibt es gute Tools.

Ich werde hier einige davon kurz vorstellen, wobei ich nur ein paar einführende Worte schreibe. Weitere Informationen gibts dann auf den jeweiligen Projektseiten.

Anschliessend zeige ich noch, wie man die Tools mittels PEAR unter Windows mit XAMPP installiert.

Inhalt abgleichen