Camping_RIDER: PHP Code in externer Datei

Beitrag lesen

Aloha ;)

Neben der schon erfolgreichen Lösung:

Ich frage mich gerade, warum du überhaupt das Javascript per php kreieren lassen willst. Es gibt imho eine einfachere Möglichkeit, php-Variablen an Javascript weiterzugeben. Zumindest wenn dein HTML auch durch php aufgebaut wird.

Dazu gehst du einfach her und hast in deiner HTML-PHP-Datei vor allen andern <script> ein inline-script, in etwa so:

<script type="text/javascript">  
var php = {  
    userid: '<!php echo $userid; !>',  
    var2: '<!php echo $var2; !>',  
    ...  
    varx: '<!php echo $varx; !>'  
};  
</script>

Dann kannst du in allen eingebundenen JS-Dateien, die danach kommen, auf die von dir benötigten Dateien zugreifen (z.B. über php.userid oder php['userid']).

Das macht deine Arbeit imho sehr viel übersichtlicher. Ich liebe PHP für seine Möglichkeiten, versuche es aber spärlich (d.h. in so wenig Dateien wie möglich) einzusetzen, da die Übersichtlichkeit jedes Quelltextes unter php-Einsatz leidet... Außerdem: du hast ja schon selbst gemerkt, dass deine Lösung relativ viel redundanten Code benötigt, wenn du auch in der JS-Datei die Variablen zunächst ableiten musst. Don't repeat yourself. Außerdem benötigt jeder unnötige php-, also Präprozessor-Durchlauf wieder etwas Rechenkapazität und Zeit. Bei großen Projekten rächt sich das schätzungsweise.

Javascript in externen Dateien kann grundsätzlich imho immer statisch hinterlegt werden. Ein Usecase, in dem php-basierte Javascript-Erzeugung notwendig wäre, ist mir nicht bekannt (außer vielleicht um eine JS-Ausgabe per Bedingung an eine Anmeldung etc. zu knüpfen oder Ersetzen statischer Platzhalter-Strings - aber schon bei letzterem ist die eben genannte Variante eleganter...).

Grüße,

RIDER

--
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[