[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