oop - auf externe Variable zugreifen

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

  • oop - auf externe Variable zugreifen

    Hallo

    Kann man innerhalb von einem Objekt auf eine externe Variable zugreifen?

    Folgendes habe ich versucht:

    PHP-Code:
    $user 'force';

    class 
    a{

        public function 
    b(){
            echo 
    $user;
            }

    }

    a::b(); 
    Leider erhalte ich so eine Fehlermeldung.

    BTW: Macht das eigentlich Sinn? Oder gibt es einen bessern Weg?

  • #2
    [OOP]

    $user = 'force';

    class a
    {
    public function b()
    {
    global $user;
    echo $user;
    }
    }

    Kommentar


    • #3
      Re: oop - auf externe Variable zugreifen

      Original geschrieben von force
      BTW: Macht das eigentlich Sinn? Oder gibt es einen bessern Weg?
      Ähm, das entspricht nicht dem Sinne des OOP. Ich verweise mal hier hin. Viel spaß beim stöbern und lernen.

      Kommentar


      • #4
        PHP-Code:
        class a{
            private 
        $userobj null;

            public function 
        __construct($userobj) {
                 
        $this->userobj $userobj;
           }    

            public function 
        b(){
                return 
        $this->userobj->name;
            }

        }

        class 
        user {
             public 
        $name 'hans';
        }

        $a = new a(new user());
        echo 
        $a->b(); 
        ps:
        methoden statisch aufzurufen is zwar bei php/java möglich aber eigentlich eine unart.

        und niemals echo, print o.ä. in klassenmethoden verwenden.

        wenn du denn dann unbedingt deine objekte "aus der luft" abgreifen willst, dann speicher die in einer session variable ab.
        dann is zumindest die stelle eindeutig definiert, wo diese variable mit dem objekt befuellt wird. bei global endet das meist in einem heillosen durcheinander,
        Zuletzt geändert von beebob; 14.12.2005, 01:08.

        Kommentar


        • #5
          Wie kann ich aber ein dynamischer Wert abfragen? Früher habe ich das immer mit $user = $_GET['user']; gemacht, wie sieht es nun bei Objekten aus? Da blicke ich noch nicht ganz durch. so?

          PHP-Code:
          class user {
               public 
          $user $_GET['user'];
          }

          $a = new a(new user());
          echo 
          $a->b(); 
          BTW: OOP ist wirklich sehr schwer am Anfang.
          Zuletzt geändert von force; 14.12.2005, 12:32.

          Kommentar


          • #6
            Okay, jetzt sehe ich es

            @reallife

            Der Link ist super!

            Kommentar


            • #7
              Da frage ich mich doch mal glatt ... warum hast Du's früher so gemacht wie du's gemacht hast ($user = $_GET["user"]) ... ?

              Damit verkehrst Du vollkommen den Sinn von Superglobals ...

              In anderen Fällen mag es nicht sinnvoll sein auf Globale Variablen direkt zuzugreifen ... in diesem Falle macht es wenig sinn nicht auf die globale Variable zuzugreifen ...

              (es sei denn du hättest eine den Input abstrahierende Klasse entwickelt und würdest Eingaben nur darüber abfragen wollen)
              Zuletzt geändert von goth; 14.12.2005, 23:12.
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar

              Lädt...
              X