show methode auf variable setzen

Shooter2k

Erfahrenes Mitglied
Hallo Forum,
meine show methode show_beruflicherstatus() liefert mir "Angestellter" . In dem ich das hier schreibe :

$benutzer -> set_beruflicherstatus("Angestellte");
PHP:
$benutzer -> show_beruflicherstatus();

Wenn ich nun die methode auf einer variable setze wie zB so :

PHP:
$arbeit = $benutzer -> show_beruflicherstatus();

Gibt er trotzdem sofort den Wert aus. Wie kann ich dies verhindern, um mit der Variable $arbeit zu arbeiten, ohne mir sie gleich ausgegen zu lassen?

Für das gesamte Bild die showMethode / Class:

PHP:
	class profil
	{
        var $beruflicherstatus;

       	function set_beruflicherstatus($beruf){
	$this->$beruflicherstatus = $beruf;
	}
	function show_beruflicherstatus(){
	echo $this->$beruflicherstatus;
	}

        }

danke
mfg
henry
 
Dann solltest du in deiner Klassenfunktion show_beruflicherstatus() dein echo in ein return umschreiben.
Dann kannst du es allerdings nicht mehr so ausgeben:
PHP:
 $benutzer -> show_beruflicherstatus();
sondern so:
PHP:
echo  $benutzer -> show_beruflicherstatus();
greetz
daddz
 
Deine Methode "liefert" nicht den Status, sondern schreibt ihn in den Ausgabepuffer. Was nach dem Methodennamen auch Sinn macht. Willst Du eine Instanzvariable aus einer Instanz auslesen, schreibt man üblicherweise eine Funktion, die den Wert mit [phpf]return[/phpf] zurückgibt und deren Bezeichner mit get beginnt:
PHP:
//class ...
    function getBeruflicherStatus() {
        return $this->beruflicherstatus;
    }
Gruß hpvw
 
Zurück