Open5

Laravelのviewヘルパーの仕組みについてみていくやつ

SanQSanQ

まずはvendor/laravel/framework/Foundation/helpers.phpview()を見る。

884 if (! function_exists('view')) {                                                                                                                                  885     /**
886      * Get the evaluated view contents for the given view.
887      *
888      * @param  string|null  $view
889      * @param  \Illuminate\Contracts\Support\Arrayable|array  $data
890      * @param  array  $mergeData
891      * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory
892      */
893     function view($view = null, $data = [], $mergeData = [])
894     {
895         $factory = app(ViewFactory::class);
896 
897         if (func_num_args() === 0) {
898             return $factory;
899         }
900 
901         return $factory->make($view, $data, $mergeData);
902     }
SanQSanQ

まずは馬鹿正直に上から見ていく。
884行目からviewというメソッドが存在しなければviewヘルパメソッドが使えるらしい。つまり軽々しくviewをメソッド名に使ってしまうとこのヘルパメソッドが使えなくなってしまうのかな。

SanQSanQ

次はPHPDocの@returnを見ると、返り値は\Illuminate\Contracts\View\Viewまたは\Illuminate\Contracts\View\Factoryらしい。

SanQSanQ

viewの引数についてみていくと、このメソッドは3つ引数をとれるらしい。また引数がなくても良い動くらしい。知らなかった。