Ankündigung

Einklappen
Keine Ankündigung bisher.

Parse error: syntax error, unexpected '.', expecting ',' or ';'

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Parse error: syntax error, unexpected '.', expecting ',' or ';'

    Abend zusammen,

    ich bin gerade dabei, meine lokal entwickelte Seite auf den Webserver beim Hoster zu übertragen. Lokal läuft der Webserver unter Windows mittels der aktuellen xampp-Installation (also auch php 6). Lokal läuft alles super.

    Allerdings spinnt auf dem Hostingserver die Website. Der Server läuft mit Ubuntu 14.04, Apache und wird mit Plesk verwaltet. Die php-Version hier ist 5.5.

    Nun wird mir immer ein Parse error ausgeworfen. Die entsprechende Codezeile dazu:

    PHP-Code:
    class BackendController extends Controller
    {

        private 
    $backendLogin WEB_ROOT "backend/login";
        private 
    $test WEB_ROOT;

        
    // Viel anderes Zeug

    Die Konstante ist wie folgt definiert:

    PHP-Code:
    define('WEB_ROOT'$_SERVER['REQUEST_SCHEME'] . '://' $_SERVER['SERVER_NAME'] . '/'); 
    Die Konstante stimmt so, mit echo WEB_ROOT ausgegeben, liefert sie mir die korrekte URL. Auch geht es, dass ich mir die die Klasseneigenschaft test mit
    PHP-Code:
    echo $this->test
    ausgebe.

    Warum meckert er mir dann, wenn ich eine Konstante mit einem String verknüpfe?

    ​Danke und Grüßl

  • #2
    Hallo,

    Konkatination funktioniert an der Stelle nicht.
    Setz das mal in den Konstruktor, dann läufts.

    Kommentar


    • #3
      Der gezeigte Code funktioniert erst ab PHP 5.6. (Es gibt kein PHP 6. )

      - https://3v4l.org/58q56
      - http://php.net/migration56.new-features

      Ich würde aber auch die Lösung von Arne nutzen, da ich es unsinnig finde, wegen solcher Kleinigkeiten die Kompatibilität zu älteren Sprachversionen zu zerstören.

      Kommentar


      • #4
        Ach sorry, ich meinte doch 5.6

        hmmm...dann wohl in den Konstruktor. Die PHP-Version umzustellen ist mir etz etwas zu umständlich^^

        Danke für die Antworten!

        Kommentar


        • #5
          War mir nicht bekannt, daß das ab 5.6 geht, aber ich soll ja auch noch was lernen hier...

          Kommentar


          • #6
            In Klassen auf eigene externe Konstantendefinitionen zuzugreifen und sich dadurch Abhängigkeiten zu schaffen empfinde ich als unschön.
            Vorsicht ist auch bei der Nutzung von $_SERVER['REQUEST_SCHEME'] geboten, da in älteren Versionen nicht verfügbar.

            Kommentar

            Lädt...
            X