Обнаружил, что хвалёный, кошерный и самый правильный фреймворк от создателя, включает в себя неполноценную имплементацию протокола JSON-RPC. Вы можете сделать мультизапрос, но не можете обработать с помощью встроенного сервера. Решил на скорую руку так PHP: class BatchServer extends \Zend\Json\Server\Server { protected function handleRequest() { $request = $this->getRequest(); $raw = json_decode($request->getRawJson(), 1); if (isset($raw[0]) && is_array($raw[0])) { $responses = []; foreach ($raw as $options) { $request = new \Zend\Json\Server\Request\Http(); $request->setOptions($options); parent::setRequest($request); parent::handleRequest(); $responses[] = json_decode(parent::getReadyResponse()->toJson(), 1); } $this->setReturnResponse(true); echo json_encode($responses); } else { parent::handleRequest(); } } } следовательно, PHP: //$server = new \Zend\Json\Server\Server(); $server = new BatchServer(); Кстати, для неофитов - вот она, сила ООП!
@keren Ухахахахаха. Тебе рано ещё в этот раздел заходить А особенно давать замечание там где ты вообще не понимаешь о чём говоришь.
@askanim А ты прямо профессионал @Fell-x27 говорил про расшаривание с self, а parent похожее, только с родительским классом, если я правильно понял.
Смысл простой - не нужно копировать или писать обработку запроса. Если приходит мультивызов, то разбиваешь его на отдельные и заставляешь фреймворк обработать каждый. Если пришел обычный запрос, то сразу передаешь управление фреймворку.