Ankündigung

Einklappen
Keine Ankündigung bisher.

Class Vars

Einklappen

Neue Werbung 2019

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

  • Class Vars

    Hallo,

    mein Problem ist sicher simpel, aber ich komme nicht auf die Lösung.

    Ich habe 2 Klassen

    class a

    class b

    in class a hab ich verschiedene vars definiert.
    Wie kann ich die in class b abrufen?

    ich habe nur PHP 4 zur Verfügung.

  • #2
    PHP-Code:
    <?php
    class {
      var 
    $memberA 'Hello';
    }
    class 
    {
      function 
    B() {
        print 
    A::memberA// ohne Instanz, statisch
        
    $a = new A();
        print 
    $a->memberA;
      }
    }
    ?>
    Überleg dir aber gut was du machst und les vorher etwas über OOP, sonst
    hast du ganz schnell verwurschtelten Code der auf Änderungen praktisch
    nicht mehr reagieren kann.

    Kommentar


    • #3
      Also,

      ich MUSS ausserhalb einer Klasse eine Variable vergeben. Geht nicht anders. Diese Variable muss ich aber inhalb einen Klasse benutzen. Nur wie?

      Kommentar


      • #4
        Werd doch mal konkret.

        Kommentar


        • #5
          Was ist denn daran nicht zu verstehen?

          PHP-Code:
          <?php
          $variable 
          "Wert";

          class 
          Test
          {
             function 
          test()
             {
                 
          $test2 $variable;
             }
          }
          ?>
          ist jetzt nur mal ein kleines Beispiel. Aber so soll es aussehen.
          Geht das irgendwie?

          Kommentar


          • #6
            Natürlich verstehe ich was du meinst, aber je nach dem was du vorhast, sollte man vielleicht
            überdenken ob die Technik wirklich das richtige ist
            schauen was man dann letztlich verwendet

            Da du aber nicht konkret werden willst:
            übergeb die Variable entweder per Konstruktor-/Methodenparameter oder
            per global (schlechter Stil)

            Kommentar


            • #7
              Was willst du denn genau wissen, wenn ich konkret werden soll?

              Gut dann beschreib ich dir das Problem:

              ich habe ein Portalsystem

              20 verschiedene Portale die alle auf die gleiche Klasse zugreifen.
              alle 20 sollen eine Art "Config" Datei erhalten in denen Variablen für die Klasse definiert werden. Das ist mein Problem. Es handelt sich hierbei nicht um eine einzige Variable sondern um ca. 50-60.

              Wie lässt sich das am einfachsten mit PHP4 lösen?

              bei PHP5 hätte ich das so gelöst:

              PHP-Code:
              <?php

              [b]datei config.php:[/b]
              class 
              a
              {
                   public static 
              $var1 "Wert1";
                   public static 
              $var2 "Wert2";
                   ...
              }
              [
              b]datei classen.php:[/b]
              class 
              b
              {
                   function 
              test()
                   {
                        
              $wert a::$var1;
                   }
              }

              ?>
              allerdings funktioniert das in PHP4 nicht. Da bringt er mir immer diese Meldung:

              Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /home/t/tech27/.htdocs/www.gesunddurchhessen.de/www.gesunddurchhessen.de/giessen/src/DBPrefs.inc on line 5

              Kommentar


              • #8
                Übergeb dir $config-Variable per Konstruktor und initialisier damit deine Membervariablen.

                Kommentar


                • #9
                  Zitat von fmueller
                  Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /home/t/tech27/.htdocs/www.gesunddurchhessen.de/www.gesunddurchhessen.de/giessen/src/DBPrefs.inc on line 5
                  Und welche der Zeilen ist Zeile 5?

                  Kommentar


                  • #10
                    Zitat von xabbuh
                    Und welche der Zeilen ist Zeile 5?
                    Vermutlich:
                    Zitat von fmueller
                    PHP-Code:
                    <?php
                         
                    public static $var1 "Wert1";
                    ?>

                    Kommentar


                    • #11
                      Zitat von karl-150
                      Vermutlich:
                      Zitat von fmueller
                      PHP-Code:
                      <?php
                           
                      public static $var1 "Wert1";
                      ?>
                      Könnte sein, was dann auch nicht weiter verwunderlich wäre, da es das Schlüsselwort public auch erst seit PHP 5 gibt.

                      Kommentar

                      Lädt...
                      X