Я хочу отобразить номер таблицы, которую я получаю из формы HTML, в этом методе: private function getComanda();
.Класс ООП частный/защищенный
Я пользуюсь общественностью function displayMethod()
, чтобы позвонить частным function getComanda()
.
Я хочу, чтобы номер таблицы отображался в таблице классов в public function setMasa($nr_masa)
, который имеет switch
. Он ничего не отображает.
Когда я пытаюсь отобразить номер таблицы с этой функцией от Shop
класс, public function getProperty()
, он работает. Я застрял, может ли кто-нибудь помочь?
Я попытался сделать function getProperty()
как private
, так и protected
и не дал никаких результатов, но если я изменю его на публичный, он делает.
Это HTML код:
<html>
<body>
<form action="" method="post">
<p>Preturi:</p><br/>
Nr-Masa: <input type="text" name="nr_masa" /><br/>
<input type="submit" value="Trimite" name="submit_masa" />
</form>
</body>
</html>
Класс магазин, где:
$nr_masa=number of table; $_masa1=table1
class Shop
{
protected $nr_masa;
private $_masa1;
public function setComanda($nr_masa)
{
$this->_nr_masa = $nr_masa;
}
public function displayMethod()
{
$this->_masa1=$this->getComanda();
print $this->_masa1;
}
private function getComanda()
{
return "<br /><br />Table number:" . $this -> _nr_masa . "<br />";
}
public function getProperty()
{
return $this -> _nr_masa . "<br />";
}
}
class Table extends Shop
{
public function setMasa($nr_masa)
{
switch($nr_masa) {
case "1";
echo "Masa Nr.1 a fost rezervata";
echo $this -> displayMethod();
break;
case "2";
echo "Masa Nr.2 a fost rezervata";
echo $this -> displayMethod();;
break;
case "3";
echo "Masa Nr.3 a fost rezervata";
echo $this -> displayMethod();
break;
case "4";
echo "Masa Nr.4 a fost rezervata";
echo $this -> displayMethod();
break;
default:
echo "Masa nu exista";
}
}
}
$TabelData = new Table;
$ShopData = new Shop;
if (isset($_POST['submit_masa'])) {
$nr_masa = $_POST["nr_masa"];
$TabelData -> setMasa($nr_masa);
$ShopData -> setcomanda($nr_masa);
}
' $ ShopData' и '$ TabelData' - разные объекты и ничего не знают друг друга. –
Я пробовал, но я действительно не понимаю, о чем вы спрашиваете: /. (Имена методов, такие как 'getProperty' и' displayMethod', не очень полезны, не говоря уже о неанглийских именах, таких как 'masa' и' comanda'. Думаю, вам нужно перефразировать ваш вопрос. Каков ваш желаемый результат и что вы получаете? Также уменьшите код до строгого минимума, чтобы воспроизвести вашу проблему. Единственный намек, который я могу сейчас дать, - прочитать руководство по видимости http://php.net/manual/en/language.oop5.visibility.php – Pevara