30歳 独学で始めるプログラミング ~WEBデザイン・アプリ開発~

ITスキルに興味がでたので、codeを書いてみたら面白くてハマってしまいました!日々何をやったのかを中心に、記事を書いていきたいと思います。

29日目:PHP 学習:HTMLにPHPを組み込む!($this、コンストラクタ、引数、HTMLへのPHPの組み込み)

<学習日>

29日目

<学習内容>

① PHP Ⅱ(23-50%):HTMLにPHPを組み込む!($this、コンストラクタ、引数、HTMLへのPHPの組み込み)

<参考>

Progateレベル:138

 

<学習内容詳細>

f:id:yakuzen_kokoro:20200801232823p:plain

本日は昨日に引き続き、PHP Ⅱの内容を進めていきました^^

 

 

① PHP Ⅱ(23-50%):HTMLにPHPを組み込む!($this、コンストラクタ、引数、HTMLへのPHPの組み込み)

f:id:yakuzen_kokoro:20200801232904p:plain

はい、ということで、ややゆっくりめのペースで進めておりますが、今日の内容は「混乱しやすい」「基本的で重要」な単元が多かったので、ゆっくりとかみ砕きながら進めました^^

 

後半では、HTMLにPHPを実践的な内容で組み込むことを勉強でき、かなり楽しかったです!

 

明日以降の内容にも期待が高まります^^

 

では具体的なcodeを挙げながら、ハイライトで振り返っていきます。

 

・呼び出したインスタンスのプロパティを、メソッドに反映させたい場合は「$this->プロパティ名」を使う。


例えば、インスタンス名を$kenにして、その時のプロパティを各々「$nameをKen」「$ageを20」にして、メソッドとして「Kenは20歳です」を表示させたいとする。
このときのcodeは以下のとおり。

 

class Men {
public $name;
public $age;

public function info(){
echo "{$this->name}は{$this->age}歳です"
}}

$ken = new Men();
$ken->name = 'Ken';
$ken->age = '20';
$ken->info();


インスタンス生成時に自動発動する関数「public function __construct()」
このクラスのインスタンスを生成したときに、関数(メソッド)を呼び出さずとも、必ずある動作をして欲しいといったニーズがある場合に「public function __construct()」というメソッドを記述する。使用方法は普通のメソッドと同じ。

 

例えば、インスタンスを生成するたびに、必ず「インスタンスを生成しました」と表示させたい場合には、以下のとおりのcodeとなる。

 

class クラス名 {
public function __construct(){
echo "インスタンスを生成しました";
}}

 

注意点としては「functionの後にスペースが必要」なことと、「アンダーバーは2つ続けて書く」ということ。


・引数と変数の引用について

1.インスタンスを生成するときに、コンストラクタに引数をつっこめる。
2.コンストラクタ内でインスタンス内の変数に、引数を設定することができる。

 

以上を合わせると、「インスタンス生成時に引数としてつっこみたい値を記述⇒インスタンスの変数に値がつっこまれる⇒インスタンスの変数を$this->プロパティ名に代入する」という流れとなる。

 

例えば、以下のようなcodeで、「彼の名前はKenです」と表示させることができる。


class Men {
public $name;

public function __construct($name){
this->name = $name;
}

public function info(){
echo "彼の名前は{$this->name}です"
}}

$ken = new Men('Ken');
$ken->info();

 

上記の例だとうま味が感じられないが、データ数や引用する変数の数が増えれば増えるほど、必須のcodeとなるはず。


・HTMLにPHPを挿入する方法について

挿入する方法は最初に勉強した通りで、<?php ?>の中にPHPのcodeを記述するだけとなる。ただしforeachやforの繰り返しやifなどの条件分岐を組み込めて、初めてPHPをHTMLに組み込む威力が発揮できるので、今回はforeachを突っ込む場合を例にとってみる。

関数の組み込み方は、すこしcodeのコツと形式のポイントがあるので、何回か書いてみて慣れてしまうべし。

 

例えば、PHPで配列として$men=array($ken,$taku,$masa)を定義して、各々の年齢を<p></p>として一覧にしたい場合、以下のようなcodeとなる。

(クラスで$nameをプロパティとして設定しており、$men=array($ken,$taku,$masa)も記述済みとして)

 

<?php foreach($men as $man): ?>
<p><?php echo $man->name ?></p>
<?php endforeach ?>

ここでポイントは、PHP内で関数は「関数名(){処理}」で記載するが、{}の部分を消して、「{」を「:」で代用し、「}」は「end関数名」で代用するということ。

 

 

繰り返し関数を実際にHTMLに組み込めると、かなり構造的にHTMLを作成することが出来るようになる未来が見えるので、ワクワクしながら勉強を進めることが出来ました^^

 

 

ではでは、1日でも長く続けられるように頑張っていきます^^

同志の方、一緒に頑張っていきましょう!