Posted at

【備忘録】Progate PHP 道場コースⅡ まとめ

今回はPrpgateの学習コースPHPⅡで出た基礎知識をまとめていきます。


クラスとインスタンス

クラスとは要素を入れる箱で、次のように記述します。

<?php 

class Menu{
----
}
//classの名前は大文字で始める
?>

インスタンスとはクラスの中にある要素のことで、以下のように記述します。

<?php

$curry = new Menu();
$pasta = new Menu();
?>


プロパティ

プロパティとはクラス内に定義するインスタンスのデータのことで、以下のように記述します。

<?php 

class Menu{
public $name;
}
///プロパティを定義するには主にpublic,private,protectedと3つの修飾詞があります。
?>

またこれらのこれらのプロパティにアクセスし表示するためには以下のような記述をします。

<?php

$curry -> name = 'CURRY';
    $pasta -> name = 'PASTA';
    echo $curry -> name;
echo '<br>';
echo $pasta -> name;
?>

結果:
CURRY
PASTA


メソッド

メソッドとはオブジェクトに対して指定する動作のことで、以下のように記述します。

<?php

class Menu {
public $name;
public function hello(){
echo '私はMenuクラスのインスタンスです';
}
///ここでメソッドを定義します
}

$curry = new Menu();
$pasta = new Menu();
$curry->name = 'CURRY';
$pasta->name = 'PASTA';

$curry -> hello();
echo '<br>';
$pasta -> hello();
///クラス内にあるインスタンスからメソッドを呼び出します

?>

結果:
私はMenuクラスのインスタンスです
私はMenuクラスのインスタンスです


$this

メソッドの中で$thisという変数を使うことでそのメソッドを呼び出しているインスタンスと置き換えることができます。

<?php

class Menu {
public $name;
public function hello() {
echo '私は'.$this->name.'です';
}
}

$curry = new Menu();
$pasta = new Menu();
$curry->name = 'CURRY';
$pasta->name = 'PASTA';
$curry->hello();
echo '<br>';
$pasta->hello();

?>

結果:
私はCURRYです
私はPASTAです