2017-08-14 6 views
-4

管理職に長年を費やして開発に戻ると、私は理解できないいくつかの定義を持っているPHPコードを扱っています(私はPHPの進歩をはるかに超えているようです)。誰かが私に、この定義でキャンペーンDTOとParamDTOが何をしているのかを教えてもらえますか?メソッドを定義する上で、これらの不思議なことは何ですか?

このメソッドからは何が返されますか?

/** 
* Creates a campaign 
* @param campaignDTO $campaign 
* @param ParamDTO $param 
* @throws \Exception 
* @return campaignDTO 
*/ 
public function createCampaign(campaignDTO $campaign, ParamDTO $param) 
{ 
} 
+2

http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration –

+1

[type declarations](http://php.net/manual/en/functions)を参照してください。 arguments.php#functions.arguments.type-declaration)別名「タイプヒント」。 – axiac

+1

^*タイプヒント*は常に悪い名前だった...それは* "ヒント" * - * "ヒント" *ではないアプリケーションを転倒させることはありません:それは要件です:P – CD001

答えて

1

Type declarations as per docs

型宣言は、関数がパラメータが呼び出し時 特定のタイプであることを要求することを可能にします。指定された値が正しくない場合は、エラーが生成されます。PHP 5では、回復可能な という致命的なエラーが発生しますが、PHP 7ではTypeError例外がスローされます。

+0

応答のおかげで、コードのどこかに "campaignDTO"という名前のクラスがあるはずですか?質問2、データ型にクラスの代わりに名前空間を使用できますか? – Amir

+0

はい、その名前のクラスがあるはずです...名前空間については、docs:http://php.net/manual/en/language.namespaces.php –

+0

プロジェクト全体でどのクラスも見つかりません名前...他に、型として使うことができるものは何ですか? – Amir

0

実行時検証ではtype-hintsです。クラスのタイプがcampaignDTOおよびParamDTOのオブジェクト、またはこれらから拡張されたクラスを期待するようにコードに指示します。

配列または文字列、またはcapaignDTOであるか拡張されているクラスでないものを渡すと、コードによってエラーがスローされます。

この関数は、そのまま返します。

コードコメントによれば、最初のパラメータのように見えるタイプcampaignDTOのオブジェクトを返します。

+0

応答のおかげで、コードのどこかに "campaignDTO"という名前のクラスがあるはずですか?質問2、データ型にクラスの代わりに名前空間を使用できますか? – Amir

関連する問題