2017-12-07 3 views
0

Ich möchte meine Variablen für alle Funktionen innerhalb der Klasse in PHP zugänglich sein. Ich gebe einen Beispielcode von was ich versuche zu erreichen. Bitte hilf mir.Wie kann ich Variablen zugänglich machen für alle Funktionen innerhalb der Klasse in PHP

class ClassName extends AnotherClass { 

    function __construct(argument) 
    { 

    } 

    $name = $this->getName(); 
    $city = $this->getCity(); 
    $age = 24; 


    public function getName() { 
     return 'foo'; 
    } 

    public function getCity() { 
     return 'kolkata'; 
    } 

    public function fun1() { 
     echo $name; 
     echo $city; 
     echo $age; 
    } 

    public function fun2() { 
     echo $name; 
     echo $city; 
     echo $age; 
    } 

    public function fun3() { 
     echo $name; 
     echo $city; 
     echo $age; 
    } 
} 

Oder wenn es eine andere Möglichkeit ist mindestens .Please vorschlagen Kopf haben

+0

Ich würde vorschlagen, etwas über Klassen OOP lesen ... Und einige andere Völker Beispiele .... Das könnte die Glühbirne aus ... eher als nur geben Ihnen die Antwort ... – TimBrownlaw

+1

@AmitGupta in die Klasse ... keine Globals – lagbox

+0

ja Sir ich habe ausgiebig gesucht konnte keine gefunden. Dort wo einige Beispiele, die von Konstruktor Gebrauch gemacht haben und dann muss ich die Variable mit $ this-> var; aber ich möchte die Variable direkt $ var nennen; @TimBrownlaw –

Antwort

0

Sie haben Ihre Variablen setzen als Klassenattribute:

class ClassName extends AnotherClass { 
    private $name; 
    private $city; 
    private $age; 

    //Here we do our setters and getters 
    public function setName($name) 
    {$this->name = $name;} 
    public function getName() 
    {return $this->name;} 

    // you call the setters in your construct, and you set the values there 

Natürlich können Sie sie als privat einstellen , öffentlich oder geschützt, hängt davon ab, ob Sie nur von dieser Klasse oder von anderen zugänglich sein sollen.

+2

hast du das überhaupt versucht? das ist nicht gültig PHP – lagbox

+1

immer noch völlig INVALID PHP – lagbox

+0

danke für die Aktualisierung Ihrer Antwort :) – lagbox

2

Sie können Sie Ziel wie dieses acheave:

class ClassName extends AnotherClass { 

    private $name; 
    private $city; 
    private $age; 

    function __construct(argument) 
    { 
     $this->name = $this->getName(); 
     $this->city = $this->getCity(); 
     $this->age = 24; 
    } 

    public function getName(){ 
     return 'foo'; 
    } 
    public function getCity(){ 
     return 'kolkata'; 
    } 

    public function fun1(){ 
     echo $this->name; 
     echo $this->city; 
     echo $this->age; 
    } 
    public function fun2(){ 
     echo $this->name; 
     echo $this->city; 
     echo $this->age; 
    } 
    public function fun3(){ 
     echo $this->name; 
     echo $this->city; 
     echo $this->age; 
    } 
} 
0
class ClassName extends AnotherClass 
{ 
    protected $name; 
    protected $city; 
    protected $age = 24; 

    public function __construct() 
    { 
     $this->name = $this->getName(); 
     $this->city = $this->getCity(); 
    } 

    ... 

    public function fun1() 
    { 
     echo $this->name; 
     echo $this->city; 
     echo $this->age; 
    } 
    ... 
} 

, dass Sie ein bisschen gehen würde erhalten.

Verwandte Themen