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

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

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

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

なお本記事は、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のプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

サンプルコード

<?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コースを提供しています。

PHPやフレームワークのLaravelを使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。