PHP基礎終了WordPressの教科書開始。
こんばんわ。
今日の午前中でプロゲートによるPHP学習が全て終了しました。思ったより時間かかりました。
昨日の段階で、PHPレッスン4が終わったものの、正直ほとんど何しているかすらわかっていなかったので、午前中で復習を行いました。
レッスン4で学んだ内容を記述します。
~今日の積み上げ~
・PHP学習レッスン4の復習。クエリ情報の入力、変更や、これまで使ってきたメソッドやインスタンスの定義、それをForeachで回す、更にその中で条件分岐するみたいな、応用の使い方がメインだった。
クエリ情報。URLの末尾の「?」以降に「キー名=値」の形で簡単な情報を記述できる。その情報は「$_GET」で受け取ることが出来る。
//menuクラスのgetnameメソッドを呼び出し、それをクエリ情報として送っている処理。
<a href="show.php?name=<?php echo $menu->getName() ?>">
<?php
// $_GETで上記のクエリ情報を受け取り、変数$menuNameに格納。
$menuName = $_GET['name'];
?>
<!-- クエリ情報を表示。 -->
<h1><?php echo $menuName ?>の詳細ページです</h1>
findByName。配列の中から特定のインスタンスを取得するメソッド。(正直ちょっとあやふや。)
// Menuクラスに対してfindByNameというクラスメソッドを呼ぶ。
//引数は$menusと$menuName。
$menu = Menu::findByName($menus, $menuName);
// findByNameというクラスメソッドを定義。
public static function findByName($menus, $name) {
foreach($menus as $menu){
//インスタンスの「menuプロパティ」と「$name」が同じなら、$menuを返す。
if($name == $menu->getName()){
return $menu;
}
}
}
インスタンスの作成と、配列の作成。(忘れかけていたので復習。)
// 変数$user1にUserクラスのインスタンスを代入
$user1 = new User('suzuki', 'male');
// 変数$user2にUserクラスのインスタンスを代入
$user2 = new User('tanaka', 'female');
// 変数$usersに$user1と$user2を要素とする配列を代入
$users = array($user1, $user2);
foreachの中で条件分岐。
public function getUser($users) {
foreach($users as $user){
//userクラスのnameプロパティと、インスタンス自身のuserNameが一致したら
if($user->getName() == $this->userName){
//$userの値を返す。
return $user;
}
}
}
こちらもif文で条件分岐。埋め込み型のif文とかFor文の記述に注意する。
<div class="review-user">
<!-- userクラスのgenderプロパティがmaleかどうかで、画像の表示を変更。 -->
<?php if($user->getGender() == 'male'):?>
<img src="https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/male.png" class='icon-user'>
<?php else :?> <!--elseの場合「:」が必要-->
<img src="https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/female.png" class='icon-user'>
<?php endif ?> <!--endの場合「:」は不要-->
<!-- ゲッターでuserクラスのnameプロパティを表示。 -->
<p><?php echo $user->getName() ?></p>
</div>
このnoteにまとめる作業も結構難しく、良い復習、アウトプットになります。
そして、今日からWordPressの教科書を用いた学習をスタートさせているのですが、環境構築で早くも挫折しそうになりました。
初めて聞くvertuialBoxとか、vagrantとか、kusanagiとか、SSHクライアントとか…あとコマンド操作する部分とかどう頑張って書籍と同じく打ち込んでも「存在しないコマンド」とかいうエラーで1時間ほど作業が止まったり。
謎にPCに色んなソフトやらをインストールしなきゃいけないのも少し疲れました。あぁ…せっかく快適なPCが重くなる…とか思って。こちらのサイトに少し助けられました。vertualBoxとは?vagrantとは?という疑問が少し解決しました。
けど僕のPCには「local by flywheel」が入っていて、これで普通にローカル上でWordPress動かせるんだけど、これでダメなの…?とか思いつつ、これも勉強だと思って、この本の通りにやっています。
独学だと、誰にも聞けないし、自分でよく読んで調べて解決するしか無いから躓いた時大変だし、調べても分からないと結構くる。
明日も頑張ります。
それでは、今日は疲れたので寝ます。おやすみなさい。
この記事が気に入ったらサポートをしてみませんか?