У меня есть открытый метод для класса, и я хотел бы документировать доступные значения строк, которые метод может принять. Будет ли это приемлемо:
/** * 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);
Конечно, имена констант могут быть более короткими и более наглядными, когда вы являетесь автором кода 🙂