findByNameメソッド
findByNameメソッドとは
配列の中から一致するnameプロパティを元にインスタンスを取得するメソッドです。
foreach文で配列を呼び出し、
if文でfindByNameメソッドの引数とnameプロパティが一致するかを調べて、結果をreturnでfindByNameメソッドに返しています。
findByNameメソッドのPOINT😊
findByNameメソッド定義の仕方(例示)は下記の通りです
public static function findByName($menus, $name){
foreach ($menus as $menu) {
if ($menu->getName() == $name) {
return $menu;
}
}
}
インスタンスの取得の仕方は下記の通りです
変数 = クラス::findByName($menus, $name);
echo 変数->getName();
※ ①クラスからfindByNameメソッドを使ってインスタンスを取り出し変数に代入する
②インスタンスの代入された変数からgetNameメソッドで呼び出す
(事前にgetNameメソッドの定義をしておく)
実際の例文をみてみましょう♫
例文
【menu.php】
class Menu {
…
public static function findByName($menus, $name){
foreach ($menus as $menu) {
if ($menu->getName() == $name) {
return $menu;
}
}
}
}
【show.php】
$menus = array($onigiri,$pasta,$juice,$coffee);
$menu = Menu::findByName($menus, ‘ONIGIRI’);
echo $menu->getName();
プレビュー
ONIGIRI
※ $onigiriのnameプロパティはONIGIRIでgetNameメソッドで取り出していますが、それぞれの定義及び読み込み等の記述は省略しています。
学習の感想
blog作成時間5:00スタート 7:00エンド
所要時間120分
めっちゃむずい💦
特にこれを実装するのがまたムズイ😓
正直わからなかくて心折れそうでした😹
上記の黄色のマーカー線の部分が理解できるか否かに全てがかかっています😂
クラスの中からメソッドを使ってインスタンスを取り出しているというイメージが持てればとりあえずOKかなーと思います。
2周、3周して理解を深めていけば良いと思います💡
地道にやっていきましょー😂
いつか誰かの為になります様に☺️