PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   oop - auf externe Variable zugreifen (https://www.php-resource.de/forum/php-developer-forum/63274-oop-auf-externe-variable-zugreifen.html)

force 13-12-2005 22:02

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?

foreach(:) 13-12-2005 22:24

[OOP]
 
$user = 'force';

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

reallife 13-12-2005 22:29

Re: oop - auf externe Variable zugreifen
 
Zitat:

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.

beebob 14-12-2005 02:05

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,

force 14-12-2005 13:16

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. :(

force 14-12-2005 23:08

Okay, jetzt sehe ich es :)

@reallife

Der Link ist super!

goth 15-12-2005 00:09

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 ... :dontknow:

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)


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:27 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG