Eclipse Juno und PHP Plugin (PDT)

Version 4 unter dem Namen “Juno” der beliebten Entwicklungsumgebung Eclipse steht seit einiger Zeit zur Verfügung. Wer auch hier mit PHP entwickeln möchte, benötigt das PHP Plugin, auch bekannt als PHP Development Tools (PDT).

Die Installation unter Juno ist recht einfach:

  • Unter Help -> Install New Software auswählen
  • Aus dem Drop-Down-Menü “Work with” die Juni-Site auswählen
  • Anschließend die Kategorie “Web, XML, … “
  • Etwas nach unten scrollen und die PHP Development Tools auswählen
  • Zweimal auf “Next” klicken, Eclipse neustarten und fertig.

Autovervollständigung mit Eclipse PDT

Die Entwicklungsumgebung Eclipse PDT (für PHP) bietet eine Autovervollständigung während des Programmierens an. Standardmäßig (zumindest bei der Mac-Version) ist die automatische Vervollständigung nicht eingeschaltet, sondern der Programmierer muss “Strg+Leertaste” drücken, um die möglichen Variablen angezeigt zu bekommen.

Da das mitunter lästig ist, kann man auch die vollautomatische Vervollständigung einstellen. Einfach unter “Einstellungen => PHP => Editor => Code Assist” den Haken bei “Enable auto activation” setzen. Optional kann noch die Zeitverzögerung eingestellt werden.

XAMPP, MySQL und CakePHP

XAMPP simuliert einen Apache-Webserver und bringt auch gleich noch eine MySQL-Datenbank mit. CakePHP kann natürlich zu der lokalen Datenbank eine Verbindung herstellen. Dazu muss – wie auch bei einer Verbindung zu einer Datenbank die irgendwo im Server-Nirvana liegt – die Datei database.php im Ordner app/config/ angepasst werden.


var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'passwort',
'database' => 'datenbankname',
'prefix' => '',
);

Doch wie ist das Passwort für die lokale Datenbankinstallation? Antwort darauf gibt die Datei config.inc.php im Ordner phpMyAdmin der XAMPP Installation. Dort sind die folgenden Zeilen zu finden:


$cfg['Servers'][$i]['auth_type']     = 'http';
$cfg['Servers'][$i]['user']          = 'root';
$cfg['Servers'][$i]['password']      = 'root';

Das Passwort kann hier direkt geändert werden. Vorsicht: Aus Sicherheitsgründen, sollte der auth_type nicht auf config stehen, sondern auf http. Wenn der Rechner nicht am Netz hängt, kann die Sicherheit vernachlässigt werden.

Die Größe eines Inputfeldes…

… sollte – so möge man denken – auch über den Form-Helper in CakePHP definiert werden. Dass dies nicht funktioniert und auch nicht sinnvoll ist, soll der kurze Artikel verdeutlichen.

Innerhalb der Methode input können neben dem Namen des Feldes verschiedene Optionen innerhalb eines Arrays für die Eigenschaften angegeben werden. Mit maxLength zum Beispiel wird die maximale Anzahl an Buchstaben angegeben, die im Inputfeld erlaubt sind.

$form->input('name', array('maxLength' => '50'));

Eine Aussage zur Größe (zur Breite) des Feldes wird damit natürlich nicht festgelegt. Nun könnte man denken, dass mit einer Option “size” genau das erreicht wird. Ein Blick ins Manual von CakePHP zeigt jedoch, dass diese Option nicht existiert. (im Gegensatz zu der Meinung, die in diesem Post auf Nabble publiziert wird)

Und das ist auch gut so! Denn: Die Größe eines Inputfeldes ist natürlich ein Formatierungsproblem. Layout und Struktur sollten selbstverständlich weiterhin getrennt bleiben, weshalb die Größe eines Inputfeldes in einer CSS-Definition angegeben werden sollte.

Wer also zu Beginn mit der Standard CSS-Datei cake.generic.css arbeitet, der muss in dieser Datei die Angabe für die Größe (in diesem Beispiel vom Standard width:100% auf width:20% reduziert) der Inputfelder ändern.

input, textarea {
	clear: both;
	display: block;
	font-size: 140%;
	font-family: "frutiger linotype", "lucida grande", "verdana", sans-serif;
	padding: 2px;
	width: 20%;
}