Interactive PHP-Shell & Zend Framework

Interactive PHP-Shell & Zend Framework

  • Collaboration-Software%
  • Enterprise Portals%
  • Lifecycle-Management%
  • Interface-Design%
  • Web Applications100%

In den Sprachen Ruby, mit irb, und Python ist eine interaktive Shell bereits ein fester Bestandteil der Sprache. Nicht nur neue Entwickler schätzen diese um gerade Erlerntes auszuprobieren, auch beim Debuggen ergibt sich durch die Shell neue Herangehensweisen.

In PHP gibt es zwar auch die Möglichkeit mit

php --interactive

den Interpreter in einem ähnlichen Modus zu betreiben, doch dieser ist im Komfort weit der Konkurrenz hinterher.

Zwar bietet diese zumindest eine Bash ähnliche History, zumindest wenn readline support aktiviert ist, doch nur eine sehr eingeschränktes Autocompletion und Error Handling.

Abhilfe schafft hier ein OpenSource-Projekt: Die PHP-Shell realisiert dank Reflection-API auch Autocompletion für eigene Objekte. Desweiteren glänzt es mit einem verbesserten ErrorHandling, das ein regelmäßiges Abbrechen der Shell verhindert.

Um die PHP-Shell selbst zu testen, kann man sie sich direkt von der Projektseite des Autors herunterladen oder via pear installieren:

sudo pear install http://jan.kneschke.de/assets/2007/2/17/PHP_Shell-0.3.1.tgz

Danach startet man sie einfach in der Konsole durch Aufruf von php-shell.sh.

Um zum Beispiel das Zend-Framework einzubinden, empfiehlt es sich den Zend Autoloader zu registrieren:

// wenn Zend im Ordner library liegt, sonst anpassen
set_include_path ('library'. PATH_SEPARATOR.get_include_path());
require_once 'Zend/Loader.php';
spl_autoload_register(array('Zend_Loader', 'autoload'));

Nun erzeugt zum Beispiel ein Aufruf von

 $date = new Zend_Date

eine Instanz der Klasse Zend_Date, ohne jegliche weitere include- oder require-Statements.

Viel Spaß beim Ausprobieren!

Informationen

Autor:

Dominik Bors
bors [at] taktsoft [dot] com

Kommentare:

0 Kommentare

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><p> <br>
  • Zeilen und Absätze werden automatisch erzeugt.
  • Each email address will be obfuscated in a human readable fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.

Weitere Informationen über Formatierungsoptionen