2012-04-07 10 views
0

Ich brauche eine Variable mit Parent-Unterklasse erstellen. Beispiel:Wie erstellt man eine Variable in Subklasse in PHP5

Geordnete Klasse

<?php 
class parentClass 
{ 
    function __construct() 
    { 

     $subClass = new subClass(); 
     $subClass->newVariable = true; 

     call_user_func_array(array($subClass , 'now') , array()); 

    } 
} 
?> 

SubClass

<?php 
class subClass extends parentClass 
{ 
    public function now() 
    { 
     if($this->newVariable) 
     { 
      echo "Feel Good!!!"; 
     }else{ 
      echo "Feel Bad!!"; 
     } 
     echo false; 
    } 
} 
?> 

Execute Parent

<?php 
$parentClass = new parentClass(); 
?> 

Derzeit

Hinweis: Nicht definierte Eigenschaft: SubClass :: $ NewVariable in subclass.php auf Linie 6

Ich brauche wirklich diese:

Feel Good !!!

Lösung:

<?php 
class parentClass 
{ 
    public $newVariable = false; 

    function __construct() 
    { 

     $subClass = new subClass(); 
     $subClass->newVariable = true; 

     call_user_func_array(array($subClass , 'now') , array()); 

    } 
} 
?> 

<?php 
class subClass extends parentClass 
{ 
    public function now() 
    { 
     if($this->newVariable) 
     { 
      echo "Feel Good!!!"; 
     }else{ 
      echo "Feel Bad!!"; 
     } 
     echo false; 
    } 
} 
?> 
+2

'var $ newVariable' in Unterklasse? –

+0

@eikto, ich brauche eine neue Variable. Siehe den Code ... Danke! –

+1

ich sehe den Code jetzt, es sieht Endlosschleife, nicht wahr? –

Antwort

4

Sie haben die Eigenschaft, in der Unterklasse zu deklarieren:

<?php 
class subClass extends parentClass 
{ 
    public $newVariable; 

    public function now() 
    { 
        if($this->newVariable) 
        { 
            echo "Feel Good!!!"; 
        }else{ 
            echo "Feel Bad!!"; 
        } 
        echo false; 
    } 
} 
?> 

EDIT

Es ist entweder das, oder magic methods verwenden, die ist nicht sehr elegant, und kann Ihren Code schwer zu debuggen machen.