Parse error: syntax error, unexpected T_VARIABLE

Le
Une Bévue
j'ai l'erreur :
Parse error: syntax error, unexpected T_VARIABLE

à la ligne :
public static $JAR=$_SERVER['DOCUMENT_ROOT'] .
'/AB2Html/Builder/saxon9he.jar';

l'intérêt, pour moi de "$_SERVER['DOCUMENT_ROOT']" est que le script
marche aussi bien sur xubuntu où :
$_SERVER['DOCUMENT_ROOT'] = /home/yt/Sites;
et sur Mac OS X où :
$_SERVER['DOCUMENT_ROOT'] = /Users/yt/Sites;

comment contourner le problème, à moins que ce soit vraiment une erreur
de syntaxe que je ne vois pas
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Une Bévue
Le #24311571
Le 10/03/2012 12:05, Une Bévue a écrit :
j'ai l'erreur :
Parse error: syntax error, unexpected T_VARIABLE

à la ligne :
public static $JAR=$_SERVER['DOCUMENT_ROOT'] .
'/AB2Html/Builder/saxon9he.jar';



je dois dire que cette erreur ne se produit qu'à l'intérieur d'une
class, en effet, si je fais un petit test :

$JAR=$_SERVER['DOCUMENT_ROOT'] . "/AB2Html/Builder/saxon9he.jar";

echo "$JAR = '$JAR" . "'<br/>n";

dans un p'tit script à part, pas de pb...

je comprends encore moins.

si -- dans la classe -- je supprime le "public static" devant $JAR=...,
ça ne change rien.
Une Bévue
Le #24311941
Le 10/03/2012 14:39, Une Bévue a écrit :
je dois dire que cette erreur ne se produit qu'à l'intérieur d'une
class, en effet, si je fais un petit test :

$JAR=$_SERVER['DOCUMENT_ROOT'] . "/AB2Html/Builder/saxon9he.jar";



j'ai donc sorti cette variable de la classe ainsi :

<?php

define('JAVA_BIN', '/usr/bin/java');
define('SAXON9HE_JAR', $_SERVER['DOCUMENT_ROOT'] .
'/AB2Html/Builder/saxon9he.jar');

class XSLTSaxonProcessor {
...


et ça roule.
Une Bévue
Le #24313391
Le 10/03/2012 12:05, Une Bévue a écrit :

comment contourner le problème, à moins que ce soit vraiment une erreur
de syntaxe que je ne vois pas...



j'ai obtenu la réponse sur clp, ce n'est pas autorisé car $_SERVER est
compilé au runtime.
je dois donc ajouter un constructeur avec initialisation...
Publicité
Poster une réponse
Anonyme