LoginSignup
15
23

More than 3 years have passed since last update.

【Laravel】アロー演算子の読み解き方

Last updated at Posted at 2020-03-29

はじめに

最近PHPやLaravelを学習し始めた僕ですが、オブジェクトのメンバ(メソッド、プロパティ)を取得する役割のアロー演算子について触れる機会が多くあり、読み解くのに苦労したので自分なりにまとめたいと思います。
初学者が故に間違っている点ありましたらご指摘いただけると幸いです。

アロー演算子てなんぞや

->これです。
右辺に使いたいメソッドやプロパティ。左辺にそれらが置いてあるクラスを記述します。

具体的な使い方としては

class PostController extends Controller
{
    private $post;

  public function __construct(Post $instanceClass)
   {
       $this->post = $instanceClass; 
   }

    public function index () {
        $post = $this->post->all(); 
    }
}

$this->post PostControllerで定義した$postを呼んでる。呼び出す時$は取る。
post->all() コンストラクタでPostモデルを$postに代入しているので、モデルクラスの返り値であるCollectionインスタンスのallメソッドを実行できる。
モデルクラスの返り値がなぜcollectionインスタンスかについては下記参照してください。
Laravel 5.8 コレクション

読み解くコツは返り値を把握すること

個人的にはそのメソッドがどういう処理を行って、どんな値を返すのかを一つ一つ読み解くのがポイントだと思います。
返り値を把握する方法は、みなさん大好きなdd()でコツコツとデバッグしていくのがベストです。

最後に

railsを学習してた僕からしたらアロー演算子の表記が違和感ありすぎて理解に苦しみました。
単純にオブジェクトのメソッドやプロパティを呼び出すために使用しているものだと考えれば、さくさく読めるようになると思います。
ひとつひとつのアロー演算子で区切られた処理を地道にddしていき、メソッドの返り値を理解することが、初学者にとっては最善の策だと思います。

15
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
23