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

Glo*_*alz 6 php string phpdoc

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

/**
* 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;
}
Run Code Online (Sandbox Code Playgroud)

OZ_*_*OZ_ 5

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

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;
}
}
Run Code Online (Sandbox Code Playgroud)

因此,当您调用此函数时,您可以使用 IDE 的自动完成功能,不将所有值保留在内存中,并确保您的代码输入正确,没有拼写错误:

$object->setSize($object::photo_size_small);
Run Code Online (Sandbox Code Playgroud)

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