PHPのクラスでconstructを使う方法を現役エンジニアが解説【初心者向け】
初心者向けにPHPのクラスでconstructを使う方法について現役エンジニアが解説しています。PHPのクラスのconstructとはクラスのコンストラクタで、インスタンス生成時に最初に実行される関数です。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、PHPのクラスでconstructを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
PHPのクラスでconstructを使う方法について詳しく説明していくね!
お願いします!
PHPのクラスにおけるconstructとは
PHPのクラスにおけるconstructとは、クラスのインスタンス生成時に最初に実行される関数です。
constructは新たにインスタンスを生成する度に呼び出され、引数を渡し、クラス内に定義したプロパティの初期化などに使用されます。
引数は複数定義可能です。
また、constructはPHP5以降から使用可能になりました。
constructの書き方
クラス内に
- __construct()関数を定義する
- クラス名と同じ名前の関数を定義する
ことで、PHPのコンストラクタとして扱うことが可能です。
<?php class Human { private $name; // コンストラクタ public function __construct($name){ $this->name = $name; } function show() { echo $this->name; } }
上記の例では、Humanクラスをインスタンス化した際、引数に文字列を渡します。
そこで、クラス内に定義した$name変数に値が代入され、初期化を行うことができます。
アクセス修飾子は基本的に「public」で定義することが好ましいといえるでしょう。
その理由は、constructはインスタンスの生成時に必ず呼び出されるものであり、仮に、アクセス修飾子を「private」で定義した場合、クラスのインスタンス化が行えないからです。
また、Humanクラスが子クラスであった場合、親クラスのコンストラクタは、暗黙的に呼び出されることはありません。
「parent::__construct()」を呼び出すことで、親クラスのコンストラクタを明示的に実行します。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
実際に書いてみよう
それでは、上記のHumanクラスのインスタンスを生成して、コンストラクタを活用例をみていきます。
$human = new Human("山田太郎"); $human->show();
実行結果
山田太郎
上記のコードでは、new Human()でインスタンス化を行い、引数に文字列「山田太郎」を渡すことで$nameに文字列「山田太郎」が代入されます。
$nameの値を出力する関数show()を呼び出すことで、出力結果は「山田太郎」となるでしょう。
執筆してくれたメンター
平野大輝(ひらのだいき)
スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。 |
PHPのクラスでconstructを使う方法がよく分かったので良かったです!
ゆかりちゃん、これからも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。