オーダーメイドコース
icon
icon

PHPのget_object_varsメソッドの使い方を現役エンジニアが解説【初心者向け】

初心者向けにPHPのget_object_varsメソッドの使い方について解説しています。このメソッドを使うことによってオブジェクトのプロパティ(変数)の情報を取得することが出来ます。しかし、privateなプロパティの値を取得するにはクラス内部からget_object_varsメソッドを使用する必要があります。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

今回は、PHPのget_object_varsメソッドの使い方について解説します。実際のコードをもとに解説していきますので、理解を深めていきましょう。

 

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPのget_object_varsメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

PHPのget_object_varsメソッドとは

PHPのget_object_varsメソッドを利用することで、指定したオブジェクトのプロパティを取得することが可能です。PHP4系、PHP5系、PHP7系で利用可能です。

オブジェクトとは、プロパティを格納する変数を意味します。オブジェクトには、プロパティ名を指定することでアクセスすることが可能です。

プロパティとは、プロパティ名と値が対になって構成されるデータです。プロパティ名と値が対になったプロパティの集合体が、オブジェクトというイメージです。

変数とは、値を入れる箱のようなものです。つまり、オブジェクトの状態ですと、さまざまなプロパティが格納されています。

1つのオブジェクトだけを利用することで、さまざまなプロパティの名称と値をまるごと操作可能です。この、各プロパティを取得する際は、get_object_varsメソッドを利用すると良いです。

 

get_object_varsメソッドの使い方

文法

get_object_vars (オブジェクト)

 

解説

get_object_vars()の括弧の中に引数として指定したオブジェクトのプロパティを取得できます。

 

[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

サンプルコード

<?php
class foo {
  public $name = 'テックアカデミー';
  public $mentor = '現役エンジニアが講師';
}
$test = new foo;
var_dump(get_object_vars($test));
?>

 

解説

1行目の<?phpでは、PHPプログラムを開始するということを宣言しています。

2行目のclass foo {では、fooという名前のクラスを宣言しています。

3行目のpublic $name = ‘テックアカデミー’;では、変数nameにテックアカデミーという値を代入しています。

4行目のpublic $mentor = ‘現役エンジニアが講師’;では、変数mentorに現役エンジニアが講師という値を代入しています。

5行目の}では、2行目のクラスの宣言の終了を意味しています。

6行目の$test = new foo;では、2行目で宣言したクラスを変数testに代入して利用できるようにしています。

7行目のvar_dump(get_object_vars($test));では、変数testの中身にアクセスする処理です。

変数testはオブジェクトです。オブジェクトの中にあるプロパティの情報をget_object_varsで指定しています。var_dumpで囲むことで、get_object_varsで指定したオブジェクトを表示することが可能です。

最終的に、3行目と4行目で代入した変数名と値が、プロパティ名と値として配列の状態で表示されています。

8行目の?>は省略可能です。PHPの処理が終了することを意味しています。

 

表示結果

array(2) {
  ["name"]=>
  string(24) "テックアカデミー"
  ["mentor"]=>
  string(30) "現役エンジニアが講師"
}

 

今回は、PHPのget_object_varsメソッドの使い方について解説しました。

 

筆者プロフィール

中本賢吾(なかもとけんご)

アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。

地域の職業プログラマー育成活動では、小学生がオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。