Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehlermeldung

Einklappen

Neue Werbung 2019

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

  • Fehlermeldung

    Hallo,

    ich habe ein Problem:
    ich möchte folgendes machen:
    Zeile 34:
    PHP-Code:
    protected static $CSS_STYLES '<link rel="stylesheet" type="text/css" href="'.self::$ordner.'/styles/default/theme/css/styles.css" />'
    leider zeigt er mir folgende Fehlermeldung an:
    Parse error: syntax error, unexpected '.', expecting ',' or ';' in xyz\PageAbstract.class.php on line 34
    Wenn ich jetzt '.self::$ordner.' wegnehme funktioniert es

    Was habe ich falsch gemacht?
    Danke schon mal


  • #2
    hast du denn davor

    PHP-Code:
    private static $ordner
    deklariert? du musst mal etwas mehr vom COde zeigen, eventuell liegt der fehler nicht in der Zeile
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

    Kommentar


    • #3
      Ich würde solche Zuweisungen frühestens im Konstruktor setzen.
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar


      • #4
        das $ ist doch auch zu viel oder?

        Kommentar


        • #5
          Zitat von cycap Beitrag anzeigen
          das $ ist doch auch zu viel oder?
          Zumindest vor dem self dürfte eins zu wenig sein.

          Kommentar


          • #6
            Ne, das müßte imho richtig sein.

            Zwar: $this->ordner
            Aber: self::$ordner
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              eventuell ist $ordner nicht static

              EDIT: mann wie wir hier raten... unglaublich
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

              Kommentar


              • #8
                also das komische ist, dass es nicht an der variable liegt sondern direkt an der zeile
                PHP-Code:
                    //defines the stylesheets
                    
                protected static $CSS_STYLES '<link rel="stylesheet" type="text/css" href="'$ordner.'/styles/default/theme/css/styles.css" />';
                    protected static 
                $CSS_PAGE_INDEX '<link rel="stylesheet" type="text/css" href="/styles/default/theme/css/index.css" />'
                Also auch wenn ich
                PHP-Code:
                $CSS_STYLES '<link rel="styleshee'.'t" type="t...'
                mache kommt die fehlermeldunng
                also immer wenn ich . mache

                Kommentar


                • #9
                  Stimmt, self ist korrekt, mein Fehler.


                  Aber die "Dynamik" der Wertzuweisung geht an dieser Stelle nicht, das macht bereits dieses simple Beispiel aus PHP: Properties - Manual klar:
                  PHP-Code:
                  class SimpleClass
                  {
                     
                  // invalid property declarations:
                     
                  public $var1 'hello ' 'world'
                  An der Stelle sind nur statische Werte erlaubt, keine Expressions.

                  Kommentar


                  • #10
                    Zitat von Arne Drews Beitrag anzeigen
                    Ne, das müßte imho richtig sein.

                    Zwar: $this->ordner
                    Aber: self::$ordner
                    Hast recht...

                    Kommentar


                    • #11
                      Zitat von luks2com Beitrag anzeigen
                      also das komische ist, dass es nicht an der variable liegt sondern direkt an der zeile
                      PHP-Code:
                          //defines the stylesheets
                          
                      protected static $CSS_STYLES '<link rel="stylesheet" type="text/css" href="'$ordner.'/styles/default/theme/css/styles.css" />';
                          protected static 
                      $CSS_PAGE_INDEX '<link rel="stylesheet" type="text/css" href="/styles/default/theme/css/index.css" />'
                      das hier ist auch falsch
                      PHP-Code:
                          //defines the stylesheets
                          
                      protected static $CSS_STYLES '<link rel="stylesheet" type="text/css" href="'$ordner.'/styles/default/theme/css/styles.css" />'
                      es müsste so lauten:
                      PHP-Code:
                          //defines the stylesheets
                          
                      protected static $CSS_STYLES '<link rel="stylesheet" type="text/css" href="'.$ordner.'/styles/default/theme/css/styles.css" />'
                      du kannst mit einem punkt strings verbinden, jedoch ist eine variable auch ein string also
                      PHP-Code:
                      'mein string '.$variable.' zweiter string' 
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                      Kommentar


                      • #12
                        hä und was heißt das jetzt??
                        Wie bekomme ich eine variable in der klasse zwischen text?

                        Kommentar


                        • #13
                          Zitat von luks2com Beitrag anzeigen
                          Wie bekomme ich eine variable in der klasse zwischen text?
                          An der Stelle - gar nicht.

                          Wenn du dynamische Werte haben willst, dann belege diese bspw. wie schon vorgeschlagen, im Konstruktor.

                          Kommentar


                          • #14
                            Nicht bei der Varibalendeklaration. Das solltest du im Konstruktor der Klasse machen. Probiere das doch mal im Konstruktur aus und du wirst sehen was da für ein Ergebnis kommt.
                            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                            http://www.lit-web.de

                            Kommentar


                            • #15
                              PHP-Code:
                              class Foo {

                                  private static 
                              $ordner '/meinOrdner/';
                                  private static 
                              $CSS_STYLES '';

                                  public static function 
                              init() {
                                      
                              self::$CSS_STYLES '
                              link rel="stylesheet" type="text/css" href="' 
                              self::$ordner '/styles/default/theme/css/styles.css" ';
                                  }

                                  public static function 
                              Bar() {
                                      
                              self::init();
                                      return 
                              self::$CSS_STYLES;
                                  }

                              }

                              echo 
                              Foo::Bar(); 
                              also wie vorher schon gesagt. Frühstens im Konstruktor den eigenschaften, werte zuweisen

                              EDIT: bäääh diesmal war ich zu spät-.-
                              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                              Kommentar

                              Lädt...
                              X