tanish-kr's learning log

Learning output log

PHP

クラス・メソッド

1. クラスの定義

class  Hoge {

   public function output(){
      echo 'Hoge';
   }
}

$hoge = new Hoge();
$hoge->output(); //Hoge

$foo = $hoge; //オブジェクトの参照
$hey = clone $hoge; //オブジェクトの複製 cloneキーワードを用いる

1-1. アクセス修飾子

キーワード 内容
public クラス外部からの呼び出し、参照
private 内部からの呼び出し、参照。外部から参照できない
protected クラスの内部、または継承したクラスの内側からの参照、呼び出し

1-2. プロパティ

クラスの内部に保持している変数のこと

class User {
 public $name;
 public $age;

 public getUser(){
    return array('name'=>$this->name,'age'=>$this->age);
 }
}

1-3. thisキーワード

オブジェクトのインスタンス化を行うと、クラスのメソッドで利用できる$thisという変数が 自動的に定義されます。$thisは自分自身のオブジェクトの参照です。

1-4. staticプロパティ

静的なプロパティ。プロパティの宣言時にstaticをつけると、そのプロパティはクラスがインスタンス化 されていなくてもアクセスが可能。

1-5. selfキーワード

クラスの内部ではそのクラス自身を刺すキーワード。Wコロンと一緒に用い、メソッド、定数、プロパティにアクセスできる

1-6. 定数

クラス定数は、&bold(){const}キーワードを用いる。

1-7. メソッド

メソッドはそのクラスの持つある昨日をひとまとめにした、クラスに属する関数のようなもの。

class クラス名{
    アクセス修飾子[final][static] function [&] メソッド名(引数){

    }
}

1-8. コンストラクタとデストラクタ

コンストラクタは、オブジェクトを生成する上で必要なパラメータや、そのクラスのオブションなどを引数と受取、 プロパティにセットするなどという役割を果たす。初期化処理。 デストラクタはそのクラスの中で確保したリソースの開放などが行われるメソッド。終了時処理.

class クラス名{

 public [final] function __construct(引数){

 }

 public [final] function __destruct(引数){

 }
}

1-9. 継承

継承とは、あるクラスのメソッドやプロパティを引き継いで新しいクラスを定義するとこ 継承されたクラスを親クラス(スーパークラス、基底クラス),継承したクラスを小クラス(サブクラス、派生クラス)と呼ぶ extendsキーワード

class クラス名 extends 親クラス名 {

}