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

Karl Nabinger k.nabinger at input.at
Tue Sep 19 20:06:08 CEST 2006


Hallo Wolfgang!

Wolfgang Klinger schrieb:
>  Karl Nabinger schrieb folgendes am 18.09.2006:
>> Frage1: in welchem Verzeichnis "steht" der Webserver bei der 
>> Verarbeitung einer Extension (um den Relativpfad korrekt anzupassen)?
> 
>  TYPO3 läuft immer über index.php, d.h. das Verzeichnis deiner
>  TYPO3 Installation.

OK, danke -- ich habe jetzt die Pfade der include-Anweisungen an Typo3 
angepasst und das klappt recht gut

Leider meckert er die Pfadangaben als Variablen an, mit folgender 
Fehlermeldung:

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

und die Line 36 ist genau die folgende Propertydefinition:

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

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.

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.

Originalkommentar aus class.t3lib_extMgm.php
* This class is never instantiated, rather the methods inside
* is called as functions like
* 		t3lib_extMgm::isLoaded('my_extension');

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....

Bitte einen Wegweiser aus diesem Wald mit so vielen Bäumen :-))


>> Frage2: Gibt es eine Möglichkeit dem PHP temporär einen anderen 
>> basis_include-Pfad 
>> (http://de.php.net/manual/de/ini.core.php#ini.include-path) anzudienen, 
>> damit ich die Pfade des Zielscripts nicht ändern muss?
>  http://de.php.net/ini_set

OK, danke für die Info, gut zu wissen.
Leider bringt das in diesem besonderen Fall nichts.

ciao,
Karl



More information about the TYPO3-at mailing list