PHP IDE

Da ich zur Zeit an einem kleinen PHP Script arbeite, war ich dann nach einer Weile auf der Suche nach einer Entwicklungsumgebung für PHP. Da gibt es erst einmal den Standard das Zend Studio. Da ich aber kein Geld ausgeben wollte, da ich nur sehr wenig für PHP entwickele musste etwas anderes her.

Nach einigem Suchen bin ich dann auf das Maguma Open Studio gestoßen welches unter http://sourceforge.net/projects/openstudio bezogen werden kann. Es ist zwar schon etwas altgebacken aber es erfüllt seinen Zweck. Um aus der IDE zu testen muss man sich noch den PHP Interpreter unter http://www.php.net/ herunterladen und installieren und schon kann es losgehen.

guide to C#

Auf der Suche nach etwas völlig anderem bin ich gestern über die Seite http://www.guidetocsharp.de gestolpert. Bei dem guide to C# handelt es sich um ein umfangreiches deutscher Tutorial für die Programmiersprache C#. Dabei richtet sich das Tutorial sowohl an Einsteiger als auch an Fortgeschrittene. Neben dem Tutorial wird das ganze durch eine Referenz und einen Styleguide ergänzt. Sehr lesenswert das ganze :)

Undefined index

Gestern habe ich versucht ein kleines PHP-Skript zum laufen zu bekommen. Diesem Skript sollte eine Variable per POST übergeben werden. Im Quelltext sieht das ganze dann so aus:

$name= $_POST['name'];

Als ich versucht habe das ganze auszuprobieren erschien folgende Fehlermeldung:

Undefined index: name in C:\Development\testing\phppost.php on line 3

Das scheint den neuen PHP Versionen geschuldet zu sein. Nachdem ich das ganze mal umgeschrieben habe sah es so aus:

if (isset($_POST['name'])) $name= $_POST['name'];

Und schon funktioniert das ganze :)

Enums in Strings verwandeln

Wenn man in C# einen Enum definiert hat:

public enum CultivationArea
{
    Burgenland,
    Steiermark,
    Wachau,
    Weinviertel
}

und aus diesem Enum ein paar Strings eine Stringliste machen möchte so stellt man schnell fest das es nicht so einfach ist. Mit ein paar Verrenkungen geht das ganze dann zum Glück doch:

List Values = new List();
foreach (CultivationArea i in Enum.GetValues(typeof(CultivationArea)))
{
    Values.Add(i.ToString());
}

SVN-Begrifflichkeiten

Wenn man von einem anderen Version Control System auf SVN wechselt bzw. zum ersten Mal ein VCS benutzt so wird man über einige neue Begriffe stolpern welche ich hier erklären möchte.

Repository
Das Repository bezeichnet das Archiv der Quelltexte (oder was auch immer man mittels SVN verwaltet). In dem Repository befinden sich sämtliche Revisionen des Projektes.

trunk, branch und tag
In einem SVN Repository gibt es drei Verzeichnisse names trunk, branch und tag. Im Verzeichnis trunk befindet sich die aktuelle Entwicklungszweig. Das branch Verzeichnis enthält Abspaltungen z.B. um größere Änderungen zu testen. Möchte man solche Änderung machen erzeugt man aus dem trunk einen neuen Branch. Im tag Verzeichnis können die Releaseversionen „gelagert“ werden.

Revision
Eine Revision bezeichnet die Version des Repostiories bzw. einer Datei in ebend diesem. Wenn das Repository z.B. die Revision 53 hat und man fügt eine neue bzw. ändert eine bestehende Datei des Repository so steigt deren Revision um 1. Die neue Revision ist dann 54.

Checkout
Im Gegensatz zu VC Systemen wie Visual SourceSafe bezeichnet ein Checkout bei SVN das holen einer Arbeitskopie des Repository vom Server.

Lock
Ein Lock benötigt man dann wenn man eine Datei bearbeiten möchte. Dadurch wird die Datei gesperrt, so das andere Nutzer sie nicht bearbeiten können (je nach Einstellung). Möchte man die bearbeitete Datei nun zurück in Reposity bringen so macht man ein Commit.

Commit
Mit einem Commit werden die veränderten Dateien wieder ins Repository hochgeladen.

Weitere Informationen unter:
http://de.wikipedia.org/wiki/Subversion_(Software)