前提・実現したいこと
プログラミング学習歴1か月の超初学者です。
progateで学習中に以下のサンプルコードを見て
理解できない点があったので質問させていただきます。
php
1<?php 2class Menu { 3 private $name; 4 private $orderCount = 0; 5 6 public function getName() { 7 return $this->name; 8 } 9 10 public function getOrderCount() { 11 return $this->orderCount; 12 } 13 14 public function setOrderCount($orderCount) { 15 $this->orderCount = $orderCount; 16 } 17} 18 $menus = new Menu(); 19?> 20 21<!DOCTYPE html> 22<html> 23(中略) 24 <div class="order-wrapper"> 25 <h2>注文内容確認</h2> 26 <?php foreach ($menus as $menu): ?> 27 **<?php $orderCount = $_POST[$menu->getName()] ?>** 28 <p class="order-amount"> 29 <?php echo $menu->getName(); ?> 30 <?php echo $orderCount;?> 31 個 32 </p> 33 <?php endforeach ?> 34 </div> 35</body> 36</html>
Menuクラス内で$orderCountをprivateで指定しているにも関わらず、
クラス外から<?php $orderCount = $_POST[$menu->getName()] ?>と
セッターを介さずに値を変更できるのは何故でしょうか?
上記を<?php $menu->setOrderCount($_POST[$menu->getName()])?>としたところ不正解でした。
回答2件
あなたの回答
tips
プレビュー