Steh grad aufm Schlauch (Syntax Error)

Bratkartoffel

gebratene Kartoffel
Premium-User
Hi Leute,

habe in letzter Zeit einfach zu viel PHP gemacht, jetzt steh ich vor nem Anfänger Problem, sehe den Wald aber vor lauter Bäumen nicht mehr.

PHP:
<?php

class REST {
  public static $MIME_TYPE = 'application/x-www-form-urlencoded';
  public static $BASE_URL  = 'http://rest.foo.bar:8080';

  public static $REQ_USER      = self::$BASE_URL . '/user';  // zeile 7
  public static $REQ_IMAGE     = self::$BASE_URL . '/image';
}
Code:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_STRING in /var/www/www.foo.bar/protected/extensions/REST.php on line 7

Was mach ich hier falsch?

Grüße,
BK
 
Also sieht für mich jetzt nicht falsch aus, ich weis n blöder vorschlag aber hast du schon die doppelten anfühurngszeichen versucht= also die " anstatt ' vlt. bring es was ansonsten sorry kein Plan :/
 
Du kannst bei der Deklaration von statischen Klassenvariablen nur Strings benutzen. [Stand: PHP 5.4.6.]

Du kannst sie natürlich nach der Klassendeklaration umschreiben:
PHP:
class ABC {
  // ...
}
ABC::staticVar = ABC::staticVar2 . '/user';
 
Du kannst in den Definition noch nicht auf andere Definitione zugreiffen. In diesem Bereich kannst du auch keine Funktionen aufrufen (und der Punkt ist eine Concat-Funktion).

Selbst sowas funktioniert nicht, da der String nicht geparst wird
PHP:
  public static $REQ_USER      = "{self::\$BASE_URL}/user";  // zeile 7
 
Hi,

vielen Dank, hab das jetzt mit ner init-Methode gelöst, die beim einbinden der Datei aufgerufen wird:

PHP:
<?php

class REST {
  public static $MIME_TYPE = 'application/x-www-form-urlencoded';
  public static $BASE_URL  = 'http://rest.foo.bar:8080';

  public static $REQ_USER      = 'not initialized';
  public static $REQ_IMAGE     = 'not initialized';

  public static function init() {
    self::$REQ_USER      = self::$BASE_URL . '/user';
    self::$REQ_IMAGE     = self::$BASE_URL . '/image';
  }
}

REST::init();

Man lernt nie aus ;)

Grüße und schönes Wochenende,
BK
 
Zurück