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

PHPでアロー演算子を使う方法【初心者向け】

初心者向けにPHPでアロー演算子を使う方法について解説しています。PHPでオブジェクトを使えるようになりましょう。「->」の記号の書き方を説明し、実際にソースコードを書いています。書きながら理解していきましょう。

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

PHPでアロー演算子を使う方法について解説します。

「->」の記号の書き方に慣れていきましょう。

 

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

PHPでアロー演算子を使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

アロー演算子とは

まず最初に「->」の記号のことをアロー演算子と呼びます。

アロー演算子はその左辺にはクラスのインスタンスを取り、右辺には左辺のクラスが持つプロパティやメソッドを指定しプロパティへのアクセス・メソッドの呼び出しを実行します。

いきなり「クラス」「インスタンス」「プロパティ」「メソッド」などの単語が出てきましたので、これらの単語をサンプルコードで説明していきます。

クラスは簡単に言うと、情報(プロパティ)と処理(メソッド)を持つオブジェクトの雛形です。
クラス定義の構文は下記のようになります。

class クラス名 {

    $プロパティ名1 = "プロパティ1";
    $プロパティ名2 = "プロパティ2";

    function メソッド名1() {
        ・・・処理・・・
    }

    function メソッド名2() {
        ・・・処理・・・
    }

}

次に「インスタンス」ですが、こちららは上記の雛形に当たる定義したクラスから、作成された実体を指します。

new演算子を指定してクラス名( )と記述すると、インスタンスが生成されます。

下記では生成されたインスタンスを変数$instanceに代入しています。

$instance = new クラス名();

 

アロー演算子の書き方

それでは上記の例文の続きとして、次にアロー演算子の使用例を下記に表します。

下記のコードはインスタンスが持つプロパティである「プロパティ名1」「プロパティ名2」にアクセスしています。

$instance->プロパティ名1;
$instance->プロパティ名2;

下記のコードではインスタンスが持つメソッドである「メソッド名1」「メソッド2」を呼び出しています。

$instance->メソッド名1();
$instance->メソッド名2();

 

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

実際に書いてみよう

それでは先に挙げた例文にクラス名、プロパティ名、メソッド名、メソッド内の処理、を具体的に指定してアロー演算子で各項目にアクセスしてみます。

今回はプロパティとして名前(name)を持ち、メソッドとして自己紹介(introduceSelf)を持つ人間(Person)クラスを定義します。

また、__construct( )が初めて出てきていますが、これはnew演算子でインスタンスを生成する際に実行される特殊なメソッドになります。

// 人間クラス
class Person {

    // 名前
    $name;

    // コンストラクタでインスタンス生成時に名前を設定する
    function __construct($name) {
        $this->name = $name;
    }

    // 自己紹介を行う
    function introduceSelf() {
        echo "私の名前は". $this->name ."です".PHP_EOL;
    }

}

// 名前が「太郎」の人間クラスのインスタンスを生成
$taro = new Person("太郎");

// 名前にアクセスして確認してみます
echo $taro->$name.PHP_EOL;  // 太郎

// 自己紹介メソッドを呼び出してみます
$taro->introduceSelf();     // 私の名前は太郎です

 

この記事を監修してくれた方

青木 敦史(あおきあつし)

昼間は自社のWebサービスを運営している会社でフロントエンド/バックエンドを担当しているエンジニア。

Webエンジニアの経験は5年ほどです。TechAcademyではPHP/Laravelコースを担当しています。
開発実績: メイクレッスン支援アプリ / 電力自由化パッケージ / 携帯電話料金計算 / ライブチャットサービス

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

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