PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP]OOP, Eigenschaften innerhalb einer Klasse setzen



Latency
15.11.2004, 19:27
Ich habe folgendes Problem. Meine Klasse Bla hat ein Attribut Namens $check_attribute. Wenn diese Klasse Bla aufgerufen wird, un dem Konstruktor von Bla der Richtige Wert übergeben wird soll dieses Attribut in einer neuen Methode auf true gesetzt werden.
Nachdem dieses Attribut auf true gesetz wurde sollte er eigentlich von "außen" schauen ob in dieser Instanz meines Objektes auch wirklich das Attribut auf true gesetzt wurde, falls ja soll ein neues Objekt gestartet werden und eine neue Methode innerhalb dieses Objektes. Jedoch habe ich zwei kleine Probleme. Ich schaff es nicht das Attribut auf true zu setzen und es wird irgendwie nicht überprüft ob das Objekt auf wirklich auf true gesetzt wurde, weil er sich irgendwo innerhalb der KLasse aufhängt -_-


<?php
$Class = new bla("blaa");
$check_attribute = $Class->get_check_attribute();
if($ceck_attribute == true)
{
$Hallo = new Hallo;
$Hallo->hallo();
}

class bla
{
private $check_attribute = false;
function __construct($parameter)
{
if($parameter = "blaa")
{
$this->set_attribute();
}
}
private function set_attribute()
{
echo $this->check_attribute;
$this->check_attribute = true;
echo $this->check_attribute;
$this->echo_something();
}
private function echo_something()
{
echo "Something!";
}
public function get_check_attribute()
{
return $this->$check_attribute;
}
}

class Hallo
{
function __construct()
{
}
public function hallo()
{
echo "Hallo";
}
}
?>

Dingsi
15.11.2004, 19:56
Ich hab das Problem noch nicht ganz verstanden und erst recht nicht gelöst, aber eins ist mir sofort ins Auge gefallen: Sollte es nicht
if($parameter == "blaa") heißen.

*to be continued*.
__________________

GNIHIHIHIHI!!! xD. Ne. Passiert mir auch manchmal...:
if($check_attribute == true) Bei dir stand da $ceck_attribute. ;).

... ARGH! X_x. Das geht trotzdem nicht. o0!
__________________

And the third!:

return $this->check_attribute;Bei dir stand da return $this->$check_attribute. Junge, achte mehr auf deinen Rechtschreibung. :D. Jetzt gehts.

Latency
15.11.2004, 20:19
3 Tippfehler?
Verdammt, es waren wirklich blos Tippfehler ;_;
Argh, für sowas könnt ich mir in der Arsch beißen, da ich die ganze Zeit gemeint habe eine andere Instanz zu adressieren oder ähnliches und auf dumme Tippfehler nicht gekommen bin §censored >_<