Intereting Posts
Запросить две записи SQL? PHP: у массивов максимальный размер? Проблема OCI Connect в Windows Server 2012 с PHP версии 5.6.14 Как получить минимальную сумму заказа для бесплатной доставки в woocommerce Используйте разные исполняемые файлы CLI версии PHP для одной команды Как интегрировать COUNT (*)? Псевдоним контроллера CakePHP Возврат списка цепочек и последнего сообщения каждого сообщения с использованием базы данных php и mysql Как выполнить блок кода в PHP один раз в день в главном файле шаблона? Non cron PHPExcel – ошибка при попытке вставить изображение после загрузки и записи Объекты symfony i18n (Doctrine) получают определенную культуру Класс сеанса PHP Как я должен реализовать «аутентификацию на основе токенов» для набора веб-API безопасным способом с использованием PHP и MySQL (без использования OAuth)? Компонент конфигурации Symfony и Doctrine dbal В Laravel 5.1 Нельзя публиковать значение флажка

phpDocumentor Как документировать доступные параметры для параметра string

У меня есть открытый метод для класса, и я хотел бы документировать доступные значения строк, которые метод может принять. Будет ли это приемлемо:

/** * 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); 

Конечно, имена констант могут быть более короткими и более наглядными, когда вы являетесь автором кода 🙂