クラスを作成するときの@paramの意味は?私が理解している限り、変数がどのようなデータ型であり、関数がどのような値を返すかをスクリプトに伝えるために使用されていますか?例えば:
_/**
* @param string $some
* @param array $some2
* @return void
*/
_
それを行う別の方法はありませんか。私はvoid function() { ... }
などのことを考えています。そして、変数についてはおそらく(int)$ test;
@param
はPHPでは特別な意味はありません。通常、コメント内でドキュメントを作成するために使用されます。あなたが提供した例はまさにそれを示しています。
ドキュメンテーションツールを使用する場合、@param
、@summary
、およびその他の同様の値(ツールの洗練度に依存)のコードを精査して、コードの適切にフォーマットされたドキュメンテーションを自動的に生成します。
他の人が言及しているように、あなたが参照している@paramはコメントの一部であり、構文的に重要ではありません。ドキュメントジェネレーターにヒントを提供するためだけにあります。 PHPDoc プロジェクトを見ると、サポートされているディレクティブと構文の詳細を確認できます。
質問の2番目の部分についてお話しします...私の知る限り、PHPで戻り値の型を指定する方法はありません。また、パラメーターを特定のプリミティブ型(文字列、整数など)にすることもできません。
ただし、PHP 5.1以降)のように、パラメータを配列、オブジェクト、または特定のタイプのオブジェクトにする必要があります。
function importArray(array $myArray)
{
}
このメソッドを配列以外のもので呼び出そうとすると、PHPはエラーをスローします。
class MyClass
{
}
function doStuff(MyClass $o)
{
}
MyClass
以外のタイプのオブジェクトを使用してdoStuffを呼び出そうとすると、PHPは再びエラーをスローします。
私はこれが古いことを知っていますが、参考までに、質問の2番目の部分の答えはPHP7
です。
// this function accepts and returns an int
function age(int $age): int{
return 18;
}
PHPはコメントにまったく気づいていません。これは、メソッドがコードを読みやすく理解しやすくするためにのみ使用するパラメーターを説明するために使用されます。
また、適切なコードプラクティスでは、ドキュメントジェネレーターに特定の名前(@param
など)を使用することをお勧めします。
一部のIDEは、関連するメソッドの上にホバーを使用すると、@param
およびその他の情報をツールチップに含めます。
@paramは、入力パラメーターのタイプが何であるかを説明する説明コメントの一部です。コード構文とは関係ありません。 WhatsコードとWhatsコメントを簡単に確認するには、Notepad ++のようなカラー対応のエディターを使用してください。