Do rzeczy:
REST webservice wraz z PSR-7.
Próbuje zrobić aktualizacje wpisu/użytkownika/cokolwiek innego ze zmianą dołączonego do niego pliku (np. awatara). Według zasad powinno to być zrobione za pomocą requesta metodą PUT albo PATCH.
Kłopot w tym, że php nie parsuje php://input do globalniej $_FILES, tak jak jest to w przypadku POST. Jeśli nie ma $_FILES, to UploadedFile z requesta jest pusty.
Z tego, co udało mi się wygooglować/ktoś mi pomogł, to mogę wysyłać POST z argumentem _method i po middleware zmieniać requesta przez metode withMethod. Tak robi laravel. Jest to słabe o tyle, że client i tak musi wykonać requesta przez POST, a nie PUT/PATCH.
Inną opcją jest parsowanie body requesta, ale trochę jest z tym kombinowania, więc podchodzi to pod KISS. Chyba że są jakieś narzędzia do tego.
Inną opcją jest po prostu rzucanie update przez POST, ale wtedy nie mamy RESTfula.
Wasze propozycje?