Phing: Bedingungen nach Betriebssystem für Befehle

22. Februar 2011 in Coden von Leo

Um in Phing einen Befehl (Command) nur auf einem bestimmten Betriebssystem auszuführen, gibt es die Option OS. Wir können also in Befehlen in Phing die Option OS mitgeben und so nur ein bestimmtes Betriebssystem ansprechen.

Dies sieht dann z.B. so aus:

<exec command="mklink /d verzeichnis1 verzeichnis2" dir="C:\dev" os="WINNT" />

Dieser Befehl wird nur auf einem Windows System ausgeführt, da wie man hier sieht sowieso nur ein unter Windows bekannter Befehl ausgeführt wird.

Hier ausserdem eine Liste mit verschiedenen Möglichkeiten:

    * CYGWIN_NT-5.1
    * Darwin
    * FreeBSD
    * HP-UX
    * IRIX64
    * Linux
    * NetBSD
    * OpenBSD
    * SunOS
    * Unix
    * WIN32
    * WINNT
    * Windows

Doxygen: Dokumentation aus Quellcode generieren

9. August 2010 in Java, PHP, Tutorials von Leo

Heute habe ich mir bei der Arbeit das Programm “Doxygen” angeschaut, welches wir nun nach guten Ergebnissen, wahrscheinlich immer nutzen werden. Doch was ist Doxygen?
Doxygen ist ein Programm welches in C++ geschrieben ist und lokal ausgeführt werden kann, um aus Quellcode Dokumentationen zu erstellen. Das Programm scannt die Dateien welche sich in einem ausgewählten Verzeichnis befinden und listet die Funktionen (etc.) auf und liest die Kommentare zu den Funktionen, welche z.B. eine Beschreibung, einen Autor oder andere beinhalten.

Vor allem für grössere Projekte ist dieses Programm meiner Meinung nach sowieso Pflicht, um die Übersicht auf Funktionen zu behalten und auch schnell nachschlagen zu können, vor allem halt auch als nicht beteiligter oder “Neuling” im Projekt.

Doxygen generiert uns also mit dem “Doxywizard” z.B. mehrere HTML-Dateien, welche wir dann gemütlich auf z.B. unseren Web-Server hochladen können.

Doch Doxygen kann nicht nur für PHP Projekte verwendet werden, nein, Doxygen verwendet viele verschiedene Programmiersprachen. Die aktuell Unterstützten Sprachen sind folgende: C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP und C#.

Um Doxygen richtig verwenden zu können, muss der eigene Code Kommentiert werden (am besten in englisch). Dies sieht dann z.B. so aus:

/**
* Beschreibung
*
* @author Max Mustermann
* @since Version 1.0
*
* @param string $string1 beschreibung
* @param bool $string2 beschreibung
* @return string beschreibung
*/
function something($string1, $string2) {
  return $stringX
}

All das wird dann von Doxygen gelesen und so ins Resultat, also die Dokumentation eingefügt.

Hier könnt ihr euch Doxygen herunterladen.

Als Beispiel für so eine Dokumentation, hier unsere öffentliche 4eyes API: www.api.4eyes.ch

Java RPG: Dragonjia

17. Juni 2010 in Java von Leo

In der Schule haben wir vor kurzem eine Arbeit Abgeschlossen, bei welcher jeder Schüler sein eigenes Java Projekt Programmieren musste. Dies konnte entweder ein Spiel sein oder ein Tool wie z.B. ein Taschenrechner. Das ganze musste jedoch mindestens 250 Zeilen Code haben, was ich mit meinen fast 500 Zeilen locker erreichte. Neben dieser Anforderung gab es natürlich noch die Anforderung Sachen zu Verwenden die wir im ersten Jahr nun gelernt hatten, sowie musste man seinen Quellcode 100%ig verstehen, was mir auch keine Mühe machte da ich alles komplett selber geschrieben habe.

Für mein Spiel gab es schlussendlich eine 5.5, also gar nicht mal schlecht ;) Ich habe mich aber entschieden wenn ich mal Zeit und Lust habe noch etwas weiter am Spiel zu Programmieren, da ich noch mehr draus machen möchte, denn leider reichte die Zeit bis zum Abgabetermin nicht aus etwas grösseres zu machen, da meine Idee schon sehr Umfangreich war.

Das Spiel werde ich übrigens noch nicht veröffentlichen, da es noch lange nicht Fertig ist und wahrscheinlich den meisten kaum Spass machen würde ;)

Wie auch immer… hier werde ich euch natürlich, falls es neuigkeiten gibt, davon Berichten. Sobald der Zeitpunkt gekommen ist werde ich es dann auch mal veröffentlichen.

Noch eine Anmerkung: Das Spiel ist ein Text basiertes Spiel, also nichts mit 3D und so :P

Mit PHP chmod Rechte setzen (Dateien und Ordner)

30. April 2010 in PHP von Leo

Als ich kürzlich mit einem Freund an einem Projekt arbeitete, auf welchem später TYPO3 laufen wird, hatten wir mal wieder das Problem, dass ein Ordner welcher auch noch Dateien enthält nicht mehr vom FTP Server gelöscht werden konnte. Als das Problem erstmals vor einer Woche auftrat, konnten wir es lösen indem wir einfach einen anderen FTP Client (ich glaube es war SmartFTP) anstatt Filezilla nahmen. Dieser konnte alles löschen.

Doch nun lässt sich gar nichts mehr löschen. Die Rechte waren wenn ich mich besinne auf chmod 755, trotzdem machte weder eine Datei noch der Ordner einen wank.

Also schreib ich kurz ein kleines PHP Script, in welchem ich das ganze per PHP lösen versuchte (nein es funktionierte sogar!) :)

Das Script sah dann so aus:

<?php

chmod ("ordnerxy/.htaccess", 777);
chmod ("ordnerxy/.htaccess", "drwxrwxrwx");
chmod ("ordnerxy/.htaccess", 0777);

chmod ("ordnerxy", 777);
chmod ("ordnerxy", "drwxrwxrwx");
chmod ("ordnerxy", 0777);

echo 'ok';

?>

Im ersten abschnitt werden der Datei “.htaccess”, welche im Ordner “ordnerxy” liegt die rechte 777 gegeben. Im zweiten abschnitt werden die selben Rechte auch noch dem Ordner “ordnerxy” gegeben, da sich dieser ja auch nicht löschen liess. Eventuell reicht es sogar wenn man nur dem Ordner die nötigen Rechte gibt.
Um das Script zum laufen zu bringen müssen natürlich jeweils die Pfade angepasst werden, stets vom Script ausgegangen.
In unserem Beispiel hier würde das in etwa so aussehen:

/ordner1/ordnerxy/...

Dabei wäre das Script im Ordner “ordner1″.

Als Datei können übrigens auch andere Dateien mit anderen Dateiendungen angegeben werden.

Das Script muss einfach kurz im Browser aufgerufen werden. Mit dem “echo” am Schluss wird noch bestätigt dass man wirklich das Script geöffnet hat.

PHP Grundkurs 1: echo Ausgabe

in Grundkurs, PHP von Leo

Hallo, dies ist der erste Teil meiner PHP Grundkurs Reihe. Hier zeige ich euch PHP und erkläre euch einiges, damit auch ihr diese Web Programmiersprache erlernen könnt. Anbei möchte ich noch anmerken, dass auch ich erst PHP lerne und die Sprache somit auch noch nicht super beherrsche, aber ich bin dran. Und hier in diesen kleinen Kursen zeige ich euch jetzt, was ich bisher so gelernt habe.

Das erste was man in PHP lernen sollte, was auch sehr simpel ist, jedoch immer benötigt ist, ist die einfache Ausgabe mit ‘echo’.

Zu erst erstellt ihr ein PHP File mit der Dateiendung “.php”. Damit der PHP Code als PHP Code gesehen wird (man kann PHP ja auch in HTML verwenden, dazu aber später noch mehr), muss er in den, ich nenne sie mal PHP Tags stehen. Diese sehen wie folgt aus:

<?php

// Kommentar

?>

Wenn ihr ein anständiges Programm wie Aptana, Notepad++ etc. habt, dann wird euch dieses alles “färben” (Code Highlighting), mehr zu den richtigen Programmen und eine kurze Erklärung folgt noch in einem weiteren Artikel.

Doch zurück zur ‘echo’ Ausgabe. Eine einfache Textausgabe macht ihr nun so:

<?php

echo "Hello World";

?>

Der Syntax ist sehr einfach. Zuerst ‘echo’ dann die Ausgabe in Anführungszeichen und danach, wie in PHP halt üblich, ein Semikolon ‘;’.
Wer das ganze noch mit HTML Code erweitern will, also direkt in der Ausgabe drin, der nutzt die ”:

<?php

echo '<u>Unterstrichen</u><br/>';

?>

Die Ausgabe wäre nun Unterstrichen und nach dem Text folgt ein ‘br’ (break), also ein Zeilenumbruch.

Wer die Ausgabe mehrmals ausgeben will, kann das ganze nun in einer Variable abspeichern, so muss der Text nicht immer neu geschrieben werden. Um dies zu tun, muss der Text in einer Variable gespeichert werden, also die Variable zuerst definiert werden.
Dies geht folgendermassen:

<?php

$hallo = 'Hallo!';

echo $hallo;

?>

In der Variable ‘$hallo’ (Variablen immer mit einem $-Dollar Zeichen am Anfang!) wird also der Text ‘Hallo!’ gespeichert. Im echo wird danach die Variable ausgegeben, also der gespeicherte Wert (‘Hallo!’) in der Variable. Beim Ausgeben einer Variable werden keine Anführungszeichen im echo benötigt, sondern lediglich das $-Dollar Zeichen welches immer vor den Variablen ist.
Würde man im echo die Variable $hallo mit Anführungszeichen ausgeben wollen, würde uns das echo keine Variable, sondern einfach den genauen Text, also ‘$hallo’ ausgeben, was wir ja nicht wollen.

Mehrere Variablen am Stück

Wer nun mehrere Variablen an einer Kette ausgeben möchte, oder auch z.B. eine Variable und einen normalen Text in Anführungszeichen, kann dies so tun:

<?php

$hallo = 'Hallo';
$welt = 'Welt';

echo $hallo . $welt;

?>

Das ganze aneinander hängen geschieht wie ihr oben seht, mithilfe eines Punktes ‘.’
Im Code oben würde die Ausgabe aber HalloWelt heissen, ohne einen Abstand zwischen den beiden Wörtern. Um dies schön zu lösen, hängt mein einfach ein Leerzeichen dazwischen:

<?php

$hallo = 'Hallo';
$welt = 'Welt';

echo $hallo . ' ' . $welt;

?>

Nun ist die Ausgabe schön dargestellt.

Das war Teil 1, Teil 2 folgt demnächst.

Java Programmieren Lernen mit MSN

7. Oktober 2009 in Java von Leo

Ja, auch dies ist möglich. Zwar nicht mit MSN direkt, sondern eher mit dem MSN Addon “MSN Plus!”. Für dieses kann man nämlich eigene Skripte erstellen, welche man dann in MSN benutzen kann. Für den Anfang kann man kleinere Skripte programmieren wie “Random Jokes” oder ähnliches. Das ganze wird in “.js” und “.xml” Dateien geschrieben. Das Hauptprogramm kommt in die “.js” Datei, welche den Namen des Skripts trägt. Dort findet (fast) alles statt. Die Skripts können alle mit Java geschrieben werden, der Vorteil ist dabei, dass auch ein Anfänger schnell die ersten Tricks raus hat und gerade bei MSN Plus Skripten schnell ein Resultat sieht. Natürlich bieten die Macher von MSN Plus eine Hilfe für Entwickler, so könnt ihr auf der offiziellen Seite eine Dokumentation – welche derzeitig leider nur auf englisch verfügbar ist – herunterladen. Diese erklärt euch wie alles Funktioniert, und zeigt auch einige Begriffe und Befehle in MSN Plus.