2月28日
○paiza
復習問題 目標人数達成した場合、していない場合if文で出力
新規問題
文字列をstrlen()で囲んで文字数を算出。
ifで20文字以内の場合はOK elseでNG表示にする。
progate phpⅣ
商品詳細にリンク作成
<<index.php>>
<a href="show.php>
<?php echo menu -> getName() ?>
</a>
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
<<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;
そのインスタンスを返してメソッドの処理を終了
}
}
}
また難しくなってきた。。。頑張ろう!!
・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 ?>
本の名言
潜在意識に閃いたことは直ちに実行せよ。機を逃すと命取りになる。
明日から仕事復帰。時間の使い方で優先すべきは緊急でなく重要なもの。
勉強をする為にどのように動くか考えて実践することが最重要事項。