Пришлось немного поработать с загрузкой файла изображения со стороннего сайта в Okay. Выяснилось, что этот функционал работает весьма странно.
1. Делаются две попытки загрузки (если первая неудачна). Сначала по URL, потом по такому же URL, но с http:. Изначально идея не слишком хороша, так адреса http: и https: на стороннем сервере могут работать по разному. А если уж хочется непременно такое делать, то надо бы с настройкой, делать вторую попытку или нет...
2. Из пункта 1 сразу вытекает серьезный недостаток . Если ссылка http: не рабочая, то ДВАЖДЫ выполняется одна и та же попытка. Вторая попытка - явно лишняя работа.
3. При первой попытке делается действие Перед долгим копированием займем это имя. А при второй (для исходного https:) - нет.
4. Создана функция private function isNotHttpsSource($filename). Применяется всего один раз. Лишнее усложнение на пустом месте.
5. Сама функция выглядит так:
private function isNotHttpsSource($filename)
{
if (!preg_match("~^https://~", $filename)) {
return true;
}
return false;
}
В то время как само собой напрашивается более простое
private function isNotHttpsSource($filename)
{
return !preg_match("~^https://~", $filename)) ;
}
6. Сами попытки оформлены отдельными участками кода, которые практически дублируются. Вот где надо бы функцию отдельную создавать и вызывать ее в двух местах! И тогда бы, скорее всего, ошибки 2,3 сами исчезли.
Столько ляпов в довольно простом функционале - выглядит как малоквалифицированная работа, простительная разве что начинающему...