phpDocumentor如何记录字符串参数的可用选项


phpDocumentor How to document available options for string parameter

我有一个类的公共方法,我想记录该方法可以接受的可用字符串值。这可以接受吗:

/**
* Set size of photos
* 
* @param string $size can be one of these options: url_sq, url_t, url_s, url_m, url_o
* @return void
*/
public function setSize($size){
    $this->_size = $size;
}

是的,这是可以接受的,但你可以做得更聪明:

class TheClass
{
 const photo_size_sq = 'url_sq';
 const photo_size_tiny = 'url_t';
 const photo_size_small = 'url_s';
 const photo_size_m = 'url_m';
 const photo_size_o = 'url_o';
/**
* Set size of photos
* 
* @param string $size see photo_size_* constants
* @return void
*/
public function setSize($size){
    $this->_size = $size;
}
}

因此,当你调用这个函数时,你可以使用IDE的自动完成功能,不在内存中保存所有值,并确保你键入的代码正确无误:

$object->setSize($object::photo_size_small);

当然,当您是代码的作者时,常量的名称可以更简短、更具描述性:)