<?php
class Foo{
public $basket;
public function __construct()
{
$this->basket = 1;
}
public function getBasket(){
return $this->basket;
}
}
class Bar{
public function __construct(&$basket)
{
$basket++;
}
}
$newFoo = new Foo();
$newBar = new Bar($newFoo->getBasket());
echo $newFoo->getBasket();
?>
Ich hoffe, den $basket
Wert in einer Klasse zu initialisieren und die gleiche Variable über eine andere Klasse zu manipulieren. Leider bekomme ich immer die Fehlermeldung "Hinweis: Nur Variablen sollten durch Referenz übergeben werden".Referenzieren der gleichen Variablen über zwei verschiedene Klassen
Frage: Wie kann ich den Code ändern, um dies zu ermöglichen? Vielen Dank.
Ich würde es auf diese Weise, wie etwas nicht tun können, den Korbinhalt ändern und das ist nicht leicht zu pflegen. Ich hätte eine separate Klasse namens Basket. Nun geben Sie Foo und Bar die gleiche Instanz des Korbs und sie können sie nach Bedarf hinzufügen - aber der Zugriff wird kontrolliert. [Demonstration bei eval.in] (https://eval.in/619687). Imo, eher einfacher zu testen, zu debuggen und neue Funktionen hinzuzufügen. –
Hallo Ryan. Guter Punkt, und ich mag, was Sie dort getan haben. Ich arbeite an einer MVC Online-Shopping-Plattform. Die Absicht dieser Frage ist herauszufinden, wie man ein Objekt (Modelldarstellung der Reihenfolge) zwischen verschiedenen Seiten von PHP teilen kann. Dies ist eine separate Frage, die ich in naher Zukunft stellen werde. – taylorswiftfan
[Klarere Demonstration als Eval.in] (https://eval.in/619689) - räumte die Echos auf. –