0
0

More than 3 years have passed since last update.

【PHP】数字と分解で覚えるclass(簡単)

Posted at

はじめに

実務でphpに触れる事が多くなってきました。
その中で、「class」の動きがいまいち分からなかったので、自分の理解度チェックの意味も込めて記事にしたいと思います。

class

先ずは簡単なclassを使用したソースを見てみましょう!



<?php

//①クラスを定義
Class Animal{
  //④タローが代入される
  //プロパティ
  public $name;

  //⑤名前を出力させる関数を定義
  public function animalName(){
     echo $this->name;
  }
}

//②インスタンス生成
$dog = new Animal();

//③クラス内のプロパティに渡す値
$dog->name = "タロー";

//⑥関数を発動
$dog->animalName();

//⑦
//出力結果 タロー
?>

このソースを分解して見ていきましょう。

//①クラスを定義
class Animal{
}


今回のメインですね。
classを定義する事で、まとまった処理(関数、変数など)を作成する事ができます。
classはあくまでも「処理」のまとまりなので、classだけではプログラムは動作しません。


//②インスタンス生成
$dog = new Animal();


Animalクラスの処理に値(実態)を投げるため、インスタンスを生成します。

//③クラス内のプロパティに渡す値
$dog->name = "タロー";


実際に渡す値を代入します。
ここのnameは④の$nameへ->を使用して値を渡す感じです。

  //④タローが代入される
  //プロパティ
  public $name;

④プロパティまたはメンバ変数と呼ばれる変数です。
ここにインスタンスで生成した値が入ってきます

  //⑤名前を出力させる関数を定義
  public function animalName(){
     echo $this->name;


ここのnameは④のnameとなります。
注意として$を付けないようにしましょう。
また、なぜ$thisが必要なのかというと、変数はグローバル変数とローカル変数があります。
ただの$nameにしてしまうと、グローバル変数を指してしまうので、このclassで使用する
変数だと分かるように、$thisを付けます。

//⑥関数を発動
$dog->animalName();


最後に関数を発動させて、nameを出力させます。

自分的に最初は$this->の意味や、インスタンスってなんやねんって感じでしたけど
使っていくうちになんとなく理解できました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0