Klassen und Objete // was mach ich falsch ?

03/17/2012 23:53 xTrojaner#1
hey leute ich will nur eine simple ausgabe erhalten und was erhalte ich eine fehler meldung was mach ich falsch ??
<?php
class Mensch
{
private $name;
protected function setName($value)
{
$this -> name = $value;
}
protected function getName()
{
return $this -> name;
}

}
$man = new Mensch;
$man -> setName(test);
echo $man -> getNamen();

?>
03/18/2012 00:33 mydoom#2
Quote:
Originally Posted by xTrojaner View Post
was mach ich falsch ??
1. Netter Threadname.
2. Ausgezeichnete Rechtschreibung.
3. Sehr exakte Fehlerbeschreibung.
4. Code geschickt angehangen. Die Lesbarkeit nimmt stark zu.
Ist wieder Copy & Paste angesagt?

Mal abgesehen davon machen überflüssige Leerzeichen, fehlende Anführungszeichen, das Aufrufen nicht existierender bzw. von außerhalb des Objektes nicht erreichbarer Methoden sowie fehlerhafte Instanziierung wenig Sinn.
03/20/2012 14:41 Mashkin#3
Ich will ja mal nicht so sein...

PHP Code:
<?php
class Mensch
{
private 
$name;

public function 
setName($value)
{
$this->name $value;
}
public function 
getName()
{
return 
$this->name;
}

}
$man = new Mensch;
$man->setName('test');
echo 
$man->getName();
?>
Man beachte das "public" - du solltest dir die Sichtbarkeits-Schlüsselwörter nocheinmal näher ansehen:
[Only registered and activated users can see links. Click Here To Register...]

Außerdem kommen Strings in Anführungszeichen (' ' oder " ").
03/20/2012 15:41 StridingGiant#4
Beschäftigt habe ich mich mit OOP in php noch nicht wirklich, aber du rufst unten die FUnktion "getNamen()" auf, diese hast du aber gar nicht definiert, sondern nur "getName()"...
03/20/2012 16:03 NotEnoughForYou#5
das ist zwar natürlich auch ein Fehler, aber auch mit dem richtigen Namen hätte es wegen der protected methode nicht geklappt.