大田区から発信するゆるゆる日記

主にITエンジニアに関する備忘録日記。たまに趣味も。何か不備があればコメント頂けると幸いです。Twitterアカウント https://twitter.com/ryuzan03

【PHP】アロー演算子(->)

※下記の内容に不備がありましたら、コメント頂けると幸いです。また、下記の内容をご使用頂ける場合は自己責任でお願いします。

【目次】

 

背景

 Laravelで出てくる「->」がよく分からなかったので、記事にまとめてみます。

 

アロー演算子(->)

アロー演算子(->)とは?

右辺に指定したプロパティへのアクセスやメソッドの呼び出しを行います。

 

使い方

左辺にクラスのインスタンスを取り、右辺には左辺のクラスが持つプロパティやメソッドを指定する。

 

使用例 

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

// 人間クラス
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(); // 私の名前は太郎です

 

用語 

プロパティ:

クラスが持つ情報

 

メソッド:

クラスが持つ処理

 

インスタンス

クラスから作成された実体(オブジェクト)

 

$:

変数を使う時に、変数名の前に付ける記号

 

PHP_EOL :

実行環境のOSに対応する改行コードを出力する定数

ブラウザで見た際には、PHP_EOLでは改行されません

ブラウザ側でも改行したい場合は、<br>を使用する必要があります

 

$this:

$thisとはクラス定義内部でプログラムがアクセス可能なオブジェクト名(インスタンスメソッド)

 

クラスの構文例

class クラス名 {

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

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

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

}

 

 

参考

素晴らしい記事に感謝いたします。

PHPでアロー演算子を使う方法【初心者向け】 | TechAcademyマガジン

PHPにおける"->"と"::"の違い | ハックノート

[PHP]記号リスト - もさろぐ