在定义方法时,这些神秘的东西是什么?

时间:2017-08-14 15:12:32

标签: php codeigniter

在管理职位上花了几年后回到开发阶段,我正在处理一个PHP代码,它有一些我无法理解的定义(看起来我远远超过PHP这些年的进展)。有人能让我知道campaignDTO和ParamDTO在这个定义中做了什么吗?

这种方法会返回什么?

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

2 个答案:

答案 0 :(得分:1)

Type declarations as per docs

  

类型声明允许函数要求参数为a   某种类型的通话时间。如果给定的值不正确   类型,然后生成错误:在PHP 5中,这将是可恢复的   致命错误,而PHP 7将抛出TypeError异常。

答案 1 :(得分:0)

这些是type-hints用于运行时验证。它告诉代码期望类类型为campaignDTOParamDTO的对象,或者从这些对象扩展的类。

如果你传入一个数组,一个字符串,或者某个不属于或扩展capaignDTO的类的东西,那么代码就会抛出一个错误。

该功能不会返回任何内容。

根据代码注释,它将返回campaignDTO类型的对象,它看起来像第一个参数。