我有一个类的公共方法,我想记录该方法可以接受的可用字符串值。这可以接受吗:
/**
* 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);
当然,当您是代码的作者时,常量的名称可以更简短、更具描述性:)