PHP

【PHP】__constract【インスタンス生成時に呼び出す】

PHPの __constract (コンストラクタ) について説明します。

__constract(コンストラクタ)とは?

特別なメソッドのこと

__constract(コンストラクタ)とは、インスタンス生成時に呼ばれる特殊なメソッドのこと。

一般的なメソッドと同様、引数を渡すこともできる。用途としては、プロパティへの初期値の設定等
マジックメソッド」の一種
Javaに慣れた方だと違和感があると思う、2点注意。①オーバーロードできないクラス名と同名で定義するのは非推奨(できなくはないが、できるのはphp3や4との互換性の維持のため)

使い方

構文

 

実装例 – シンプル

コード

constract-simple.php

 

実行結果

Heroクラスのspeakメソッド呼び出し部より先に、’コンストラクタが呼ばれました。’と出力されている。これはインスタンス生成時、つまり $hero = new Hero(); で呼ばれているため。

実装例 – プロパティに代入

コード

constract.php

 

実行結果

コンストラクタでプロパティに値を設定し、画面出力するプログラム。1つ目のインスタンス生成時に文字列’allmite’を渡し、これが$nameプロパティに設定されていることが解る。2つ目のインスタンス生成時には値を渡していないので、引数のデフォルト値($name = ‘izuku’ の部分)が$nameプロパティに設定されていることが解る。

参照

独習PHP

公式

PHP: コンストラクタとデストラクタ – Manual

PHPを効率的に学習したい場合

スクールを活用するのも有効

PHPを効率的に学習したい場合、スクールを活用するのも有効です。

転職を視野に入れている方、将来に向けて学習を進めている学生の方など、良かったら説明を聴いてみてはいかがでしょうか(説明会の参加は無料です)

オンラインプログラミングスクール「Tech boost

他のスクールについては下記の記事にまとめてあります。他のスクールについても視野に入れたい場合、参考になるかと思います。

【プログラミング】スクール一覧プログラミングのスクールで学ぶことを視野に入れた方向けに、ご紹介します。 転職を視野に入れたい 新卒で入社を視野に入れた...
ダイス
ダイス
ご参考になれば幸いです。
ABOUT ME
ダイス
アラサーSE(20代)。 主な経験は、PGとしてJava(SpringBoot)、C、PHP(Laravel)、VBAがある。SS、UTの経験有り。最近はUI工程を経験中。 IT業界だけでなく、教育業界(予備校での運営スタッフ)での経験有り。 サイトでは、特定の分野に限定せずに幅広く発信していきます。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です