ステップアップ備忘録

学習用備忘録

PHPの勉強 ③

progateでのPHPの勉強 

途中で有料ページになってしまうため、内容が完全ではないです。

わかったこと

オブジェクト指向
「もの」を中心とした考え方、ECショップサイトでいう「商品」や「ユーザ」や「カート」など、サイトを構成するものをベースにして、
サイト設計をし、それをコードで再現していく。

・オブジェクト→実体に例える、サイトを構成している目に見える「もの」のこと。
・クラス→オブジェクトの設計図のこと。
<?php class Menu{ } ?>
インスタンス→クラスを基に生成された実体のこと。オブジェクトと同義と考えていい。
<?php class Menu{ →Menuクラスを定義
$menu1 = new menu();→新しいインスタンスを生成し、$menuに代入する。
$menu2 = new menu();
}

?>

・プロパティとメソッド
インスタンス(実体)がもつ「プロパティ」と「メソッド」をクラスに定義する。
 プロパティ→インスタンスが持つデータ
  <?php class Menu{
public $name; publicを用いてMenuクラスにプロパティを定義
}
?>
 「インスタンス→プロパティ名」とすることでそのプロパティにアクセス可能
   例 <?php class Menu{
public $name;
}
     $curry = new Menu();
$curry -> name ="CURRY";
echo $curry -> name;

 メソッド→インスタンスに関連する処理(関数)
 
・クラスプロパティとクラスメソッド
  クラスプロパティ→インスタンスの数を個々ではなくクラス全体で管理する。クラスが持つデータのこと。
  staticを用いて定義し、クラス名::$クラスプロパティ名でクラスプロパティにアクセスする。
  
  コンストラクタ→生成されたインスタンス数が変化したときに自動的に更新する。(コンストラクタしたいプロパティの名前を()内に。

  self→クラス内でクラスプロパティにアクセスする、クラス内で使用すると自分自身を指し示す。
  self::$クラスプロパティ名というように使う。
   例 public function __(←半角空白スペースにアンダーバー二つ)construct($プロパティ名){
self::$count;

クラスメソッド→個々のインスタンスのデータには関係のない処理をする。staticで定義し、クラス名::クラスメソッド名で呼び出せる。
 
  class Menu{
private static $count = 0;
public static function getCount(){
return self::$count;
}
}

→メニューを増やすと値が更新される

・リンクの作成
<a>タグを用いて、show.phpにアクセスし、その内容を表示する
 <a href="show.php">
<p><?php echo $menu -> getName(); ?></p>
</a>