Oops! It appears that you have disabled your Javascript. In order for you to see this page as it is meant to appear, we ask that you please re-enable your Javascript!

PHP

phpオブジェクト指向のコンストラクタについてわかりやすく説明

投稿日:

Pocket

うも、チャーさんです。

 

あなたはphpのオブジェクト指向である、

コンストラクタとはなんだろうか、

と思っていませんか?

 

この記事では、このコンストラクタについて、

そしてコンストラクタの使い方・書き方について、

説明しています。

 

 

なので、あなたがコンストラクタについて、

疑問や知りたいことがあれば、

このままスクロールして読んでみてください。

 

スポンサードサーチ

phpのオブジェクト指向のコンストラクトとは何か?

 

で結論から話します。

 

コンストラクタとは、

クラスを元に、インスタンスを作った時に、

自動的に実行されるメソッド(関数)のことです。

 

 

またコンストラクタは、

実際にどう記述すればよいかというと、

 

function __construct(){

}

 

とクラス内に書きましょう。

 

 

class クラス名 {

function __construct(){

ここに処理内容を書く。

 }

}

 

このクラスの中の中括弧の中にある、

このfunction __construct(){ }

の部分がコンストラクタになります。

 

で、construct以下の中括弧内に書いた記述が、

インスタンス生成時に実行されるという仕組みです。

 

 

とはいえ、文字だけの説明だと、

少しわかりづらいと思いますので、

実際にコードと実行例を見せようと思います。

 

と言うことで以下の画像が、

実際のコードと実行した画面です。

 

 

tanakaと出力されてますね。

 

 

でコンストラクタについて補足しますとこのコードでは、

$tanaka = new Person(“tanaka”);

の部分でインスタンスを作った時に、

 

constructの中括弧の中の、

$this->name=$name;

が自動で(呼び出さなくても)実行されてます。

 

 

その証拠にインスタンスを作った後に、

echo $tanaka->name;と書くと、

tanakaと出力されてるわけです。

 

 

このように、コンストラクタとは、

インスタンス生成時に自動で実行されるメソッドです。

クラスの外でメソッドを呼び出さなくていいのです。

 

なのでコンストラクタの処理内容のとこに、

あなたがさせたい処理を書いておきましょう。

 

 

例えば上の画像のようにプロパティの代入などを、

インスタンス生成と同時に行うと楽です。

 

phpオブジェクト指向のコンストラクタでは引数を取れる

 

で、さっきと同じ実行画面ですが、

見ていただいてわかるとおり、

コンストラクタでは引数を取れます。

 

 

このconstruct($name){

}の$nameの部分が引数です。

 

で、インスタンス生成時に引数を()内に

書いておけば、引数を渡すことができます。

 

 

この画像で言うと、

$tanaka= new Person(“tanaka”);

のPersonの後ろのtanakaの部分です。

 

これを渡すことにより、

__construct($name){

$this->name=$name;

}

 

の$this->nameに$name(“tanaka”)が、

代入されるわけです。

 

 

と、言う風に、

 

phpのオブジェクト指向のコンストラクタには、

こういう便利な仕組みがあるので、

コンストラクタ生成時の処理に使うと良いでしょう。

 

スポンサードサーチ

phpオブジェクト指向のコンストラクタの書き方

 

それでは、コンストラクタの書き方について、

説明します。

 

1クラスを作る

 

まずはクラスを書きましょう。

 

クラスの書き方は、

classと書いてその後ろに半角スペースを入れて、

クラス名を書きましょう。

 

であとは中括弧を書きましょう。

 

 

クラス名はなんでもいいですが、

最初の一文字目は大文字です。

 

あとわかりやすい名前にした方がいいです。

 

class Staff {

}

 

2コンストラクタの記述を書く

 

で、それがかけたら、

次はpublic function __construct(){}

と書きましょう。

 

なので、以下のようになります。

 

class Staff {

public function __construct(){

  }

 

}

 

ちなみにfunctionの前にはpublicと書いて、

アクセスできるようにしときましょう。

 

そしてfunctionの後ろには半角スペースをあけて、

アンダーバーを2つ書きましょう。

 

半角スペースを入れないと、

エラーになるので注意しましょう。

 

 

3実行したい処理を書く

 

そして、__construct(){}

の中括弧内にインスタンス生成時にさせたい、

動作を書きましょう。

 

プロパティに代入させるなどの記述を書くと楽です。

 

4インスタンスを生成する

 

そして次にインスタンスを生成しましょう。

コンストラクタはインスタンス生成時に実行されます。

 

なので、インスタンスを生成しないと何も動きません。

と言うことでインスタンスを作るのを、

忘れないようにしましょう。

 

class Staff {

public function __construct($name){

$this->name = $name;

  }

}

$john = new Staff(“john”);  (ここがインスタンスの生成の記述)

 

これでコンストラクタの動作は完了です。

 

 

スポンサードサーチ

まとめ

 

まとめに入ります。

コンストラクタとは?ですが、

インスタンス生成時に実行されるメソッドのことです。

 

引数を渡すことができるので、

クラス内のプロパティに値を代入できたり楽です。

 

 

覚えるとお得なので、

ぜひこの記事を参考に覚えてかつ、

あなた自身で実践してみてください。

 

それでは、読んでもらってありがとうございました。

 

チャーさん

 

 

-PHP

スポンサードサーチ

関連記事

no image

Macでphpを使うためのローカルサーバー構築にはコレ使うと一瞬で楽ですよ!

どうも、チャーさんです。   あなたはMacユーザーでPHPを勉強もしくは使いたいのに どうすればいいか困っていませんか?   先に少しネタバレすると、PHPを使うには ローカルサ …

no image

phpで画像を表示させる方法を2つ紹介

どうもチャーさんです。   あなたはphpで画像を表示させるには、 どうしたらいいか? と思っていませんか。     この記事では、phpで画像を表示させる方法を、 お話 …

no image

HTMLの記述内にphpを埋め込み実行する方法

どうも、チャーさんです。   あなたはphpの埋め込みがどうすればできるか、 調べていませんか?   この記事では、htmlの記述にphpを埋め込み、 実行する方法を書いています。 …

no image

phpで今日の日付を表示する方法とコードの仕組み説明

  どうもチャーさんです。     あなたはphpで今日の日付を表示したいですか?   この記事ではphpで今日の日付を表示する、 コードや方法を書いてますので …

no image

phpでのif文の書き方「php初学者用」

  どうも、チャーさんです。   あなたはphpでのif文の書き方って、 どう書けばいいの?と思っていませんか。   この記事ではphpのif文の書き方について、 説明し …

最新記事

チャーさん

プログラミング・筋トレ・unity系の記事などを書いてます。

大学卒業後→開業→個人事業主7年目ぐらいです。webサイト制作したり、unityでゲーム開発しております。

youtubeもやってまして、主にプログラミング動画とかunity系の動画をあげてるので見てください。