Тут есть разные школы. Одни говорят, что метод должен быть void. Другие говорят, что у пэджобжекта должно быть несколько “upload” методов, которые возвращают разные страницы.
Мне проще сделать void и далее уже по скрипту понять, на какую страницу оно выведет и сделать new ThatNewPage(); чем плодить кучу методов со специфическим return value;
К сожалению, текст “Спасибо, братан, файл загружен” каждый раз разный, и зависит от того, какой документ грузим.
Мне же нужен универсальный метод на загрузку, не зависящий от содержимого загружаемого документа.
Именно sleep(2000); помог, т.к. я предполагаю, что для тяжелых файлов (от 5Mb и более) скрипт просто не успевает зааплоадить его. Запрос не успевает отослаться. Не знаю как еще объяснить…
Как раз таки один раз подумав какой return page тебе необходимо сделать, позволит тебе сделать цепочку вызовов через точку и даже думать не придеться, на какой ты странице - вот в этом и фишка. Такой способ позволяет реализовать kiss, и паттерн chain of invocation
У меня цепочки вызовов в другом месте реализованы. Я в курсе про это.
Значит, надо придумать универсальную проверку.
Не обязательно проверять на точное совпадение текста, достаточно просто проверить, что этот элемент появился. Или какую-нибудь часть строки. Можно регуляркой, например.
В любом случае это лучше, чем слип: такая проверка позволяет убедиться, что файл точно загрузился. А слип на позволяет.
Абсолютно с вами согласен.