【Laravel】コメントアウトの@paramや@returnとは何か?実例で解説|PHPDocsやDocブロックの見方や使い方、タグの種類一覧

laravel-prograshi(プロぐらし) Laravel
記事内に広告が含まれていることがあります。

Laravelではartisanコマンドを使ってファイルを自動生成すると、そのファイルの中にコメントアウトで@parmや@returnが記載されていることがあります。

あるいは、先人たちが作成したファイルの中に、@parmや@returnが記載されていることがあります。

ここではこれらの意味や使い方を実例で解説しています。


どれのことか?

例えば、php artisan make:middleware ミドルウェア名でミドルウェアを作成した場合、以下のようなファイルが自動生成されます。

この中のクラスの処理の冒頭に@paramや@returnがコメントアウトで記載されています。

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class test
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        return $next($request);
    }
}

クラスの処理の中以外にも、コントローラのアクションの中の冒頭やヘルパなどにもコメントアウトで似たような記述が記載されていることがあります。

コメントアウトの@paramや@returnとは何か?

コメントアウトの@paramや@returnは、関数の説明を一定のルールに沿って記述したものです。

このルールをPHPDocsといいます(PHPドックス)。そして、コメントアウトで囲まれた人まとまりの説明文をDocブロック(ドックブロック)と呼びます。

Docブロックは大きく以下の3つで構成されています。

Docブロックの構成
  1. 説明の要約。
  2. 説明の詳細(複数行)。
  3. 要素(タグ)の説明。
/**
  * 説明の要約
  *
  * 説明の詳細(複数行)
  *
  * 要素(タグ)の説明
  *  
  */


(参考)>PHPDocリファレンス


冒頭の@(アットマーク)の意味(タグとは何か)

@paramのように冒頭が@で始まる文字列をタグと呼びます。

タグづけすることで明示的にして説明をわかりやすくしています。


タグの種類

主なタグ一覧

Docブロックで使用される主なタグには以下のようなものがあります。特に@paramや@returnは頻繁に見かけます。

タグ内容実例
@param引数のデータ(1個)* @param \Closure $next
@return関数やメソッドの戻り値。* @return mixed
@versionバージョン情報* @version 1.0.1
@method使用されているマジックメソッド* @method setString(integer $integer)
@author作成者情報* @author My Name <my.name@example.com>


タグの一覧

詳細は下記をご参考ください。

(参考)PHPDocのタグ一覧


各タグの書き方

タグの説明文の書き方の基本形は下記のようになります。

@タグ名 [型/クラス] [名前/変数名] [説明文]

タグ名と型のみ記述されていたり、説明文が無かったりなど、記述はまちまちです。

例1 クラスと変数

以下の例では、クラスと変数のみを記述しています。

//クラスと変数
* @param  \Illuminate\Http\Request  $request


例2 型のみ

以下の例では、クラスと変数のみを記述しています。

* @return mixed


タイトルとURLをコピーしました