[TYPO3-UG Oesterreich] EXT wrapper für PHP script

Wolfgang Klinger wolfgang at stufenlos.net
Tue Sep 19 20:36:44 CEST 2006


 Hallo!

 Karl Nabinger schrieb folgendes am 19.09.2006:
> Parse error: parse error, unexpected T_PAAMAYIM_NEKUDOTAYIM, 
> expecting',' or ';' in 
> /srv/www/htdocs/test40/typo3conf/ext/in_sitebar/pi1/class.tx_insitebar_pi1.php 
> on line 36

 Hebräisch und bedeutet "Doppelter Doppelpunkt".

> class SB_Localizer
> {
>      var $dir = t3lib_extMgm::extPath('in_sitebar').'/sitebar/locale';
> }

 Das kannst du hier nicht so machen, 
 dafür mußt du schon einen Konstruktor verwenden.

> Eigentlich gehe ich davon aus, dass das Objekt t3lib_extMgm bereits von 
> TYPO3 erzeugt wurde und global verfügbar ist - sonst würden wohl die 
> include-Anweisungen nicht funktionieren.

 Ist es auch, es ist nur nicht erlaubt sowas in einer Member Variablen
 Deklaration zu verwenden.
 Außerdem dachte ich, dass du einen OOP Background hast, da würd' ich
 schon erwarten eine Klasse nicht als Objekt zu bezeichnen ;-)

> Kannst Du erkennen, warum er hier den doppelten : anmeckert?
> Ich vermute als PHP-Newbie, das hat etwas mit der Objektsyntax zu tun?
> Vermulich muss ich t3lib_extMgm->extPath('in_sitebar') schreiben, aber 
> trotz include von require_once(PATH_t3lib.'class.t3lib_extmgm.php'); mag 
> er mich nicht.

 In dem Fall wäre t3lib_extMgm fast ein Objekt (würde ein $ fehlen), 
 aber das gibt es nicht (nicht instanziert).

> Aus OOP-Sicht eigentlich ein absolutes "no-no" -- das kann nur an PHP 
> liegen, denn in anderen Umgebungen kann man nicht auf die reine 
> Klassendefinition ohne Objektinstantiierung zugreifen....

 Na geh, statische Methodenaufrufe gibt es in fast jeder
 Programmiersprache. Wozu ein Objekt instanzieren, wenn ich keines
 brauche?


 lg
 Wolfgang




More information about the TYPO3-at mailing list