2月28日

 


○paiza

復習問題 目標人数達成した場合、していない場合if文で出力

f:id:hinairo:20210228084433p:plain

 

新規問題

文字列をstrlen()で囲んで文字数を算出。

ifで20文字以内の場合はOK elseでNG表示にする。

f:id:hinairo:20210228084440p:plain

progate php

商品詳細にリンク作成

 

<<index.php>>

<a href="show.php>

 <?php echo menu -> getName() ?>

</a>

f:id:hinairo:20210228104331p:plain

nameのクエリ情報を取得するために、show.phpへのリンクに情報を追加する

<<index.php>>

<a href="show.php? name=<?php echo $menu->getName() ?>">

//キーをnameとして、値を$menuのnameとする。URLとして反映する為にはecho

しなければならない。

 

<<show.php>>

<?php 

$menuName= $__GET['name']; //$_GETでクエリ情報の値を受け取って、変数

 ?>                                                  //$menuNameを作って代入

<h1><?php echo $menuName ?>の詳細ページです</h1>

 

・特定のメニューインスタンスの取得

<<show.php>>

$menu = Menu::findByName($menus,'CURRY');

//data.phpの$menu配列からnameプロパティのCURRYのインスタンスを取得

echo $menu->getName();  //出力結果:CURRY

f:id:hinairo:20210228161045p:plain
<<menu.php>>

class Menu{

:

public static function findByName($menus,$name){

$menusの配列の$nameプロパティを取得するメソッド

foreach($menus as $menu) {

$menusのキーを$menuとした場合

if($menu->getName()==$name){

$menuのnameプロパティが、引数の名前と同じ値の場合は、

return $menu;

そのインスタンスを返してメソッドの処理を終了

}

}

}

f:id:hinairo:20210228161057p:plain

f:id:hinairo:20210228163222p:plain

また難しくなってきた。。。頑張ろう!!

 

・Reviewクラスを作って商品に関するレビュー表示

<<review.php>> 

class Review{  

//Reviewクラスの作成

private $menuname; 

private $body;

//privateなプロパティを作成

 

public static function __construct($menuName,$body){

$this->menuName = $menuName;

$this->body = $body;

//コンストラクタの定義

 

public function getName(){

return $this->menuname;

}

public function getBody(){

return $this->body;

//プロパティのゲッターを定義

}

}

<<review.php>>

インスタンスの作成

$review1 = new Review($juice->getName(),'このジュースは・・・・');

//変数$review1にインスタンスを代入

 

・レビュー表示

<<show.php>>

<?php foreach($reviwes as $review): ?> 

//変数$reviewsのキーを$reviewとして

<h3><?php echo $review->getName() ?><h3>

//<<review.php>>のコンストラクタを介して<<data.php>>の$reviews配列からデータを

取得している

<?php endforeach ?>

f:id:hinairo:20210228232128p:plain

 

 本の名言

潜在意識に閃いたことは直ちに実行せよ。機を逃すと命取りになる。

 

明日から仕事復帰。時間の使い方で優先すべきは緊急でなく重要なもの。

勉強をする為にどのように動くか考えて実践することが最重要事項。