PHP-OOP-1 als Argument übergeben-Shop::__construct() muss eine Instanz von
dies ist mein Erster code & habe einen Fehler:
Abfangbaren fatal error: Argument 1 passed to Shop::__construct() muss eine Instanz der Generator keine gegeben, genannt, C:\xampp\htdocs\oop\config.php in Zeile 7 definiert C:\xampp\htdocs\oop\shop.class.php auf der Linie 8
Zeile 8:
public function __construct(Generator $generator)
Mein code:
class Shop
{
private $generator;
private $vates;
public function __construct(Generator $generator)
{
$this->Generator = $generator;
$this->vates = 'Connected with 250 vates!';
}
public function connect()
{
if ($this->Generator->isDown())
{
echo 'Sorry, the generator is down!';
}
else
{
echo 'Sucessfully', $this->vates;
}
}
}
Config.php:
include("system.class.php");
include("shop.class.php");
$generator = new Generator;
$shop = new Shop;
System.class
class Generator
{
private $power = false;
public function powerUp()
{
$this->power = true;
echo 'You powered up the generator';
}
public function shutDown()
{
$this->power = false;
echo 'The generator slowly shutting down...';
}
public function isDown()
{
return $this->power;
}
}
Was habe ich falsch gemacht?
Danke 😉
- Die Struktur hat viele Mängel. Arbeitest du mit C in der Vergangenheit? Sie definieren die Parameter falsch ist, und instanziiert die Klassen falsch.
- mein Erster code war
echo "Hello World"
- Huh? Code sieht gut aus für mich, andere als zu eng gekoppelt. Er hat einen Fehler gemacht mit
$this->Generator
wie es sein sollte$this->generator
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Das Konstrukt Signatur für den shop Klasse ist Typbestimmung das argument, was bedeutet, dass Sie nur in einem Generator-Objekt.
Du bist nicht die übergabe von Argumenten an den Konstruktor(en):