こんな悩みを解決出来る記事になっています。
こんにちは、セイタです。
プログラミングの学習を初めて早いもので3ヶ月目に突入しました。
2ヶ月目中盤までは、HTML/CSS/Bootstrap/jQueryについての学習をして、フロントエンド言語について学習していました。
そこからPHPとLaravelについて学習を始めたのですが、PHPに入ったところでクラスが理解できずにかなり苦戦。
おそらく、同じようにクラスについての理解が出来ずに苦しんでいるプログラミング初心者の人がいると思ったので、本記事を執筆しました。
本記事を読んで頂くことで、クラスについてと付随する処理について理解することが出来るかと思います。
PHPを主体として解説していきますが、他の言語でも同じような仕組みになっているかと思うので、参考になる部分は多いかと。
ぜひ、プログラミング学習の参考にしてください。
PHPのクラスについて!処理の通り道を理解して、オブジェクト指向を理解しよう
PHPのクラスは処理の通り道を理解すれば簡単に理解することが出来ます。
とはいえ、図などがなければ理解するのは難しかったりするので、次の章から図を見つつ解説を確認してみてください。
PHPのクラスはこんな流れになっている
それでは早速、PHPのクラスはどのような動きになっているのか確認していきましょう。
クラスのサンプルコード
PHP
<?php
class SampleClass{
public $age = 'Age';
public $from = 'Japan';
public $now = 'Tokyo';
public function where() {
echo $this->age;
echo $this->from;
echo $this->now;
}
}
$test = new SampleClass();
echo $test->from;
$test->where();
?>
PHPのクラスは目視で理解せよ
先程紹介したサンプルコードを参考に解説していきます。
- まずは、class SampleClassとして処理のまとまりとなる処理の箱を定義します。
- その中に、クラスの中で使用する変数と関数をそれぞれ作成します。
- 簡単に解説するとこれでクラスは完成です。
更に詳しく掘り下げると、publicという部分は何処からでもアクセス可能という制限を設けるものですが、この部分に関しては他の記事で解説を作り次第追加したいと思います。
今は、publicというものだけ覚えておいたらOKです。
クラスを実際に使うには
クラスを実際に使うには、クラスを定義したあとに『$変数名 = new クラス名』とすることで、ある変数にクラスで作成した処理が使えるようになります。
echo $test->from; とするとクラスの中の変数$fromで設定した値『Japan』が表示されます。
$test->where(); とするとクラスの中で設定した関数を使うことが出来るので、『Age Japan Tokyo』という値が表示されるようになります。
試しに$test = new SampleClass; という記述をしなかった場合は、これらの値が呼び出せなくなるので、試しにやってみてください。
不思議要素アロー演算子
ぼくは、このアロー演算子もよくわからず苦戦しましたが、上記の処理の流れのラインを見ていただけると、何となく分かるかと思います。
また$thisも理解に苦しむ部分ですが、$thisは『このクラスの中の』とおぼえておけばOKでしょう。
アロー演算子の詳しい解説は、【PHP】アロー演算子がわからない!!そんな悩みを解決しますにて解説しているので、あわせて確認していただくと、より理解が深まるはずです。
PHPのクラス・関数・変数はワンセットで覚える
クラスは関数と変数をワンセットで覚えるのが良策です。
関数と変数の理解ができれば、必然的にクラスの理解も出来るはずなので、それぞれの特徴を抑えつつクラスを理解しましょう。
それぞれの特徴について簡単に解説
とはいっても突き放すわけにも行かないので、簡単に関数・変数・クラスについて改めて解説してみたいと思います。
- 関数は処理のストッカー
- 変数は代名詞的な役割
- クラスはそれらをまとめるボックス
関数は処理のストッカー
関数は処理のストッカーとして考えてもらえれば、理解しやすいと思います。
function where()という関数の中にストックしておきたい処理をまとめておいて、関数を呼び出すことによって中身の処理を一気に出力することが可能です。
関数に関しては、【PHP】関数と引数がわからない!!でもこれで完璧【初心者向け】で詳しく解説しています。
変数は代名詞的な役割
変数は代名詞的な役割を持っていて、変数の中に文字列や数式などをセットして、いちいち文字列や数式を書かなくても変数を打ち込むだけで、セットした処理の内容を出力しています。
変数に関しては、PHPではなくjQueryの解説で詳しくお伝えしているので、プログラミングの変数ってなに?使い方や代入方法などをわかりやすく解説!をあわせてご覧ください。
言語はjQueryを例にして解説していますが、仕組みや宣言の仕方は同じなので参考になるはずです。
クラスはそれらをまとめるボックス
クラスはここまで紹介した関数と変数をひとまとまりにしたボックスで、新しい変数にnew クラス名と代入するだけで処理をまとめたボックスの内容を使うことが出来ます。
そう考えると便利で、別の方法では初期値を予め設定しておいて、関数のカッコの中に引数を書くことでその値に伴った内容の文字列や数式などを出力することが可能です。
引数の使い方に関しては、先程の関数の解説ページにてあわせて紹介しているので、クラスを理解するついでに見ておいてくださいね。
PHPに限らずクラスの考え方はオブジェクト指向言語で必須
PHPに限らず、クラスの考え方はオブジェクト指向のプログラミング言語を使用する際には重要な概念になってきます。
これがオブジェクト指向の全てではありませんが、ワンポイントだけでも理解しておくことでより深く理解できるようになっていくはずなので、これをとっかかりとしてプログラミングの学習をどんどんすすめていってくださいね!