Die Variablen welche außerhalb von den Klassenfunktionen deklariert werden sind in diesen nicht verfügbar. Wie macht man sie verfügbar?
							
						
					Wie bekommt man ein variable bzw. deren Wert in eine Funktion bzw. class?
				
					Einklappen
				
			
		
	X
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 klassenvariablen sind static
 
 im allgemeinen verwendet man in oop sprachen eher selten public attribute
 man kapselt die daten in getter und setter methoden
 
 PHP-Code:class Foo{
 
 private $_bar = null;
 public static $_var = 1;
 
 //konstruktor
 public function Foo($arg){
 $this->setBar($arg);
 }
 
 public function getBar(){
 return $this->_bar;
 }
 
 public function setBar($arg){
 if($arg != null)
 $this->_bar = $arg;
 else
 throw new Exception("invalid parameter");
 }
 }
 
 //aufruf einer statisch bzw einer klassenvariable
 echo Foo::$_var;
 
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 wie kommst du darauf, dass klassenvariablen statisch sein müssen? klassenvariablen können statisch sein, müssen aber nicht.Original geschrieben von BugBite
 Klassenvariablen sind statische Attribute und damit objektunabhängig.
 
 im übrigen ist es m.m nach egal, ob man die klassenvariablen, classmember oder klassenattribute nennt.
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 na tut mir leid aber Klassenattribut/variable is im OOP nunmal ein
 begriff der eine bestimmte bedeutung hat... wenn du alles
 klassenattribut nennst kommts nur mal zu missverständnissen wie
 gerade eben.
 
 Wie willst du denn variablen in klassen objektunabhängig machen
 wenn nicht mit static?
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Dann mal ein Beispiel. Die Variable ist außerhalb der Klasse und heißt $vara.
 Wie bekommt man $vara in die Klasse bzw. deren Werte, um damit innerhalb der Klasse weiter arbeiten zu könen?PHP-Code:5 $vara = "test";
 
 6 class blabla {
 7 function test()
 8 {
 9 $message = "Test: $vara\r\n";
 10 return $message;
 11 }
 12 }
 13
 14 $a = new blabla();
 15
 16 print $a->test();
 Zuletzt geändert von janein; 20.04.2008, 20:21.
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 So:Original geschrieben von janein
 Wie bekommt man $vara in die Klasse bzw. deren Werte, um damit innerhalb der Klasse weiter arbeiten zu könen?
 
 PHP-Code:5 $vara = "test";
 
 6 class blabla {
 7 public function test($vara)
 8 {
 9 $message = "Test: $vara\r\n";
 10 return $message;
 11 }
 12 }
 13
 14 $a = new blabla();
 15
 16 print $a->test($vara);
 
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 janein bitte fang nicht an jetzt einfach so mit klassen rumzuspielen,
 ohne das prinzip dahinter zu verstehen.
 
 bevor wir uns jetzt hier im forum durch das ganze thema fressen:
 mach einfach mal von hinten bis vorne ein oop tutorial, ich glaub peter
 kropff ist da ne super anlaufstelle
 
 zu deinem beispiel:
 
 
 so ne funktion wäre dann aber eh statischPHP-Code:...
 public function test($arg){
 $message = "Test: $arg\r\n";
 return $message;
 }
 ...
 
 $blabla = new blabla();
 echo $blabla->test($vara);
  
 ansonsten kannst du noch variablen über den konstruktor setzen
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Erstens ist es eine Methode und zweits nicht statischOriginal geschrieben von BugBite
 
 so ne funktion wäre dann aber eh statisch    
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 mercy :-)Original geschrieben von h3ll
 So:
 
 PHP-Code:5 $vara = "test";
 
 6 class blabla {
 7 public function test($vara)
 8 {
 9 $message = "Test: $vara\r\n";
 10 return $message;
 11 }
 12 }
 13
 14 $a = new blabla();
 15
 16 print $a->test($vara);
 
 
 @BugBite
 Danke für die Warnung. Aber Versuch macht kluch ... und Fehler sind da, um sie zu machen.
 Kommentar
 
          
 
							
						 Moderator
 Moderator
Kommentar