Extbase: Extension Settings aus TypoScript laden

10. Januar 2012 in Coden, PHP, TYPO3 von Leo

Vor kurzem habe ich mit intensiv mit Extbase befasst, da ich auch gerade eine Extbase Erweiterung für einen Kunden erstellen musste. Da ich vorher “normal” TYPO3 Extension programmiert habe, habe ich natürlich bereits TypoScript über die Extension geladen, jedoch wird das ganze in Extbase etwas anders gemacht.

Folgender Code-Schnippsel wird genutzt:


$group = $this->settings['group']

Das TypoScript hierzu würde folgendermassen aussehen:


plugin.tx_meineExtension {
 settings {
  group {
   1 {
    label = Gruppe 1
   }
  }
 }
}

Zu beachten ist hierbei eigentlich nur, dass mit $this->settings auf “settings” (siehe oben) in den Einstellungen unserer Extension zugegriffen wird.

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

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.