php-Console mit Chrome und WordPress

Das Chromium von Google wird immer populärer. Dies liegt auch an den verfügbaren Erweiterungen. Im Rahmen der PHP Entwicklung gibt es spannende Themen und die php-Console möchte ich kurz vorstellen.

Googles Browser Chrome und dessen Chromium Projekt werden immer beliebter. War es anfangs in erster Linie die Geschwindigkeit, so sind auch die Erweiterungsmöglichkeiten weiterhin in den Fokus der Nutzer geraten und der Markt ist voll mit sinnvollen Erweiterungen.
Natürlich gibt es auch im Rahmen der Webentwicklung viele Erweiterungen, die im Vorfeld dem Firefox in Webentwicklerkreisen zu Bekanntheit verholfen haben.
Im Bereich der PHP-Entwicklung habe ich mir immer wieder diverse Lösungen angeschaut, mit verschiedenen Möglichkeiten gespielt und am Ende sitze ich in erster Linie vor einem Browser, der IDE, XDebug und diverse eigene Erweiterungen. Unter Firefox habe ich FirePHP in bestimmten Bereichen gern genutzt, kleines Plugin dazu findet man im zugehörigen Beitrag. Alternativ habe auch die debugConsole vorgestellt. Daher lag es nahe sich im Umfeld Chromium nach einer Lösung umzuschauen und die Entwicklertools aktiv im Rahmen PHP zu nutzen. Dabei wird man in verschiedenen Themen fündig und ich möchte hier php-console vorstellen und eine kleine Integration für WordPress als Plugin aufzeigen.

PHP Console is extension for Lagger and class PhpConsole, that displays PHP errors/debug messages in Google Chrome console and in notification popups.

Die Aussage trifft es im Grunde auch und bei der ersten Arbeit mit der Erweiterung für den Browser und nach Integration der Klasse sieht man die Ergebnisse sehr schön.
Das Inkludieren der Klasse habe ich via Plugin gelöst, kann natürlich auch statisch in den notwendigen Stellen der entsprechenden Dateien erfolgen.
Über alle Features der Erweiterung kann man sich umfassend auf der Projektseite umsehen; ebenfalls Dokumentationen und Download ist dort zu finden.

Im folgenden einige Einblicke in die Ausgabe und vielleicht macht es Lust auf einen ersten Test oder auch mehr.

Im ersten Screenshot seht ihr die Ausgabe der PHP-Fehler, die in der Console ausgegeben werden, diese kann man gleichzeitig nach dem Load der Seite als Popup bekommen, siehe letzer Screenshot. Dazu gibt es via Kontextmenu diverse Einstellungen der Erweiterung.
PHP Console Error View

Alternativ eine Ausgabe im Log, welche ich via Plugin explizit als Beispiel erzeugt habe. So ist es möglich, dass ihr eure Ausgabe steuert.
PHP Console Log View

Im letzten Screenshot ein Gesamtüberblick, inklusive der popups - man hat eine sehr schöne Ausgabe aller PHP Meldungen und sollte so beim Entwickeln nichts vergessen.
PHP Console Log View

Im folgenden mein kleines Plugin (alternativ bei Github zum Download inkl. aller Dateien und Ordner), wobei ich die Klasse PhpConsole.php der php-Console im Ordner inc ablege. Die Ausgabe im Log der Konsole wird über die Funktion debug() gesteuert; dabei ist es möglich, dass man einen Namen mitgibt und so die Auswertung leichter lesen kann.


<?php
/*
Plugin Name: php-console
Plugin URI: https://bueltge.de/
Text Domain: php-console
Domain Path: /languages
Description: <a href="http://code.google.com/p/php-console/">php-console</a> - Google Chrome extension for displaying PHP errors/exceptions/debug messages in browser console or notification popups
Author: Frank B&uuml;ltge
Version: 0.0.1
Author URI: https://bueltge.de/
Donate URI: https://bueltge.de/wunschliste/
License: GNU v3
Last change: 29.03.2011
*/ 

/* load php-console functionality */
require_once( 'inc/PhpConsole.php' );
PhpConsole::start( TRUE, TRUE, dirname(__FILE__) );

class Wp_Php_Console {
	
	public function __construct() {
		
		$this->messages();
		
		$this->get_contents( 'GNU GENERAL PUBLIC LICENSE' );
	}
	
	public function messages() {
		global $wpdb, $pagenow;
		
		debug( $pagenow, 'Var Pagenow' );
		$sql = "SELECT * FROM $wpdb->options";
		debug( $sql, 'sql-options' );
	}
	
	public function get_contents( $string ) {
		
		$content = file_get_contents( '../license.txt', NULL, NULL, 0, 100 );
		$pos = strpos( $content, $string );
		
		debug( $pos , 'Position' );
		if ( ! $pos )
			debug( $content, 'Content' );
	}
}

new Wp_Php_Console();
?>

Kommentare sind geschlossen.