Closed XNicON closed 6 years ago
Привет, можешь подробнее рассказать что делает этот код, почему эту часть кода нужно изменить ?
Метод has должен возвращать boolean, т.е. true/false, но null !== false, кроме того если api перестанет работать метод выбросит исключение ServiceException или любое другое, чего в принципе не должно быть чтобы не оборачивать каждый if $var->has()
в блок try/catch
Привет. Спасибо что так быстро реагируешь.
Теоретически функция вернёт null, но практически не понимаю когда это может произойти. так как toArray возвращает либо данные, либо исключение. но да тогда ловить в if ->has
исключения.
Не знаю, как описать конкретно в чём смысл. Опишу свой случай.
Могу загружать файлы. Загрузил, но при проверке на существование, возвращал просто false. Когда файл существовал. (по задаче, перезаписывать нельзя) На что я просто не понимал почему.
В итоге, нашёл, что я.диск возвращал, исключение Доступ запрещён. как его чекнуть при проверке на существование я не совсем понял.
Хотя это скорее просто баг, всё решилось переопределением прав на чтение.
Я не могу принять PR, сомневаюсь что эта ситуация относится к недостатку библиотеки. Возможно, стоило запросить новый токен или api возвращал результат с задержкой. Метод upload может перезаписывать файл. Я подумаю, скорее всего попробую добавить необходимую проверку в метод send, но это плохое решение has не должен выбрасывать исключение. могу посоветовать
try
{
$has = (bool) $var->toArray();
}
catch (ForbiddenException $exc)
{
// тут
}
Спасибо за развёрнутый ответ. Хорошо, закрываем.
Начал работать и возникают такие проблемы, проверка на существование возвращает false, когда файл существует на самом деле, к файлу доступ запрещён.