30

クラスを作成するときの@paramはどういう意味ですか?私が理解している限り、変数がどのようなデータ型であり、関数がどのような値を返すかをスクリプトに伝えるために使用されていますが、そうですか?例えば:

/**
 * @param string $some
 * @param array $some2
 * @return void
 */

それを行う別の方法はありません、私は次のようなことを考えています:void function() { ... }またはそのようなもの。そして変数については多分(int)$ test;

4

5 に答える 5

30

@paramPHP では特別な意味はありません。通常、コメント内でドキュメントを作成するために使用されます。あなたが提供した例はまさにそれを示しています。

ドキュメンテーション ツールを使用すると@param、 、@summary、およびその他の同様の値 (ツールの洗練度に応じて) のコードが精査され、適切にフォーマットされたコードのドキュメントが自動的に生成されます。

于 2012-01-23T21:46:39.980 に答える
3

私はこれが古いことを知っていますが、参考までに、質問の2番目の部分への答えは今ですPHP7.

// this function accepts and returns an int
 function age(int $age): int{

  return 18;
}
于 2016-07-15T12:13:41.953 に答える
3

他の人が言及しているように、あなたが参照している @param はコメントの一部であり、構文的に重要ではありません。ドキュメントジェネレーターにヒントを提供するだけです。サポートされているディレクティブと構文の詳細については、PHPDocプロジェクトを参照してください。

質問の 2 番目の部分について言えば...私の知る限り、PHP で戻り値の型を指定する方法はありません。パラメータを特定のプリミティブ型 (文字列、整数など) にすることもできません。

ただし、PHP 5.1 などでは、パラメーターが配列、オブジェクト、または特定の型のオブジェクトのいずれかである必要があります。

function importArray(array $myArray)
{
}

このメソッドを配列以外で呼び出そうとすると、PHP はエラーをスローします。

class MyClass
{
}

function doStuff(MyClass $o)
{
}

以外の型のオブジェクトで doStuff を呼び出そうとするとMyClass、PHP は再びエラーをスローします。

于 2012-01-23T22:07:50.683 に答える
1

PHP はコメントをまったく気にしません。コードをより読みやすく理解しやすくするためだけにメソッドが取るパラメーターを記述するために使用されます。

@paramさらに、適切なコード プラクティスでは、ドキュメンテーション ジェネレーターに特定の名前 ( など) を使用することに専念しています。

一部の IDE@paramでは、関連するメソッドにカーソルを合わせると、ツールチップに およびその他の情報が含まれます。

于 2012-01-23T21:48:08.623 に答える
0

@paramは、入力パラメーターのタイプが何であるかを示す説明コメントの一部です。コード構文とは何の関係もありません。Notepad ++のような色がサポートされているエディターを使用して、whatsコードとwhatsコメントを簡単に確認できます。

于 2012-01-23T23:39:01.363 に答える